我遇到问题产生的原因:数据库表的某个字段为不能为空。在修改实体属性的时候,实体对应的表中不能为空的字段为null。
详情:
数据库:

c #:
错误代码:
static void EditAdvance() { Category c = new Category() { CategoryID = 11,Description = "bad" }; System.Data.Entity.Infrastructure.DbEntityEntry<Category> a = db.Entry<Category>(c); a.State = System.Data.EntityState.Unchanged; a.Property("Description").IsModified = true; db.SaveChanges(); Console.WriteLine("modify success"); }
正确代码:
static void EditAdvance() { Category c = new Category() { CategoryID = 11, CategoryName="new",Description = "bad" }; System.Data.Entity.Infrastructure.DbEntityEntry<Category> a = db.Entry<Category>(c); a.State = System.Data.EntityState.Unchanged; a.Property("Description").IsModified = true; db.SaveChanges(); Console.WriteLine("modify success"); }
本文介绍了一个在使用Entity Framework进行实体属性更新时遇到的问题及其解决办法。问题发生在尝试更新数据库表中一个不允许为空的字段时,由于实体属性设置不完整导致出现错误。通过提供错误和正确的代码示例对比,详细说明了如何确保所有必填字段都已赋值。

被折叠的 条评论
为什么被折叠?



