c# – 在Entity Framework中更新具有所需属性的实体

c# – 在Entity Framework中更新具有所需属性的实体,第1张

概述我意识到更新实体而不首先选择它们是一个常见的问题,并且许多解决方案已经在StackOverflow上,但是在阅读之后我仍然遇到问题. 我正在使用以下代码更新用户权限: using (var context = GetContext()) { var userEntity = new UserEntity() { ID = userUpdate.ID }; context.Use 我意识到更新实体而不首先选择它们是一个常见的问题,并且许多解决方案已经在StackOverflow上,但是在阅读之后我仍然遇到问题.

我正在使用以下代码更新用户权限:

using (var context = GetContext())  {    var userEntity = new UserEntity() { ID = userUpdate.ID };    context.Users.Attach(userEntity);    context.Entry(userEntity).CurrentValues.SetValues(userUpdate);    context.SaveChanges();  }

但是,这会导致抛出DbEntityValIDationException,因为我的用户权限具有一些必需的属性,但这些属性不一定在更新的实体上设置.

有没有办法解决这个问题,还是仅仅是删除所需属性的情况?

谢谢!

解决方法 我在这里找到了答案: Entity Framework/MVC3: temporarily disable validation

通过暂时禁用验证,我可以绕过检查并插入任意数量的值,而无需先检索所需的属性:

using (var context = GetContext()){  var userEntity = new UserEntity() { ID = userUpdate.ID };  context.Users.Attach(userEntity);  context.Entry(userEntity).CurrentValues.SetValues(userUpdate);  // disable entity valIDation  context.Configuration.ValIDateOnSaveEnabled = false;  context.SaveChanges();}
总结

以上是内存溢出为你收集整理的c# – 在Entity Framework中更新具有所需属性的实体全部内容,希望文章能够帮你解决c# – 在Entity Framework中更新具有所需属性的实体所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1248851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存