c# - 通过 Entity Framework 抛出错误将数据插入数据库

标签 c# sql asp.net entity-framework

我试图通过使用 Entity Framework 将数据插入数据库,但它抛出以下错误 更新条目时出错。有关详细信息,请参阅内部异常。

代码在这里

public int InsertUserData(UserDetail userDetail, BusinessObjects objects)
    {
        try
        {
            UserCredential objCredentials = newPersonEntity.UserCredentials
            .First(cd => cd.UserName == objects.UserName);
            objCredentials.Status = objects.Status;
            newPersonEntity.UserDetails.Add(userDetail);
            int result=newPersonEntity.SaveChanges();
            return result;
        }
        catch (Exception ex)
        {  
            CatchError(ex);
            return 3;
        }


    }

谁能告诉我我做错了什么?

最佳答案

据我所知,您的代码已正确截断,因此您无需使用 objCredentials 执行操作。或者如果你想改变它的状态,你必须调用

newPersonEntity.UpdateObject(objCredentials);

无法保存更改的唯一原因是不正确的 userDetail 对象字段值。检查所有必填字段是否填写正确,并且不与存储在数据库中的现有键值冲突

关于c# - 通过 Entity Framework 抛出错误将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34447397/

相关文章:

sql - 如何根据psql中一条记录的值排除具有相同ID的所有行?

mysql - 如何根据可用性从两个表之一查询数据

c# - 更新 DataTable 中的行 - 为什么这不起作用?

c# - 在 ASp.net 中动态添加数据到 gridview

c# - 我们如何从 SQL Server CLR 调用 SSL Web 服务?

c# - 获取 WebBrowser.NewWindow 事件的 URL

sql - 与调用整行相比,SQL 查询受限时的性能优势?

asp.net - 生成的图像显示与下载

c# - RadAsyncUpload 抛出 HTTP 500,并在上传的文件名旁边显示一个红点

c# - 通过遍历列表访问每个对象的公共(public)方法