在EF 4.1中,是否可以使用存根实体将字段设置为空
本文关键字:实体 存根 字段 设置 可以使 EF 是否 | 更新日期: 2023-09-27 18:11:17
是否可以使用存根实体将EF中的字段设置为null ?
我希望我的代码像这样工作:
MyEntity myEntity = new MyEntity() { ID = detached.ID };
ctx.MyEntities.Attach(myEntity);
// The value in the table is non null, the value in detached is null.
myEntity.myNullableField = detached.myNullableField;
ctx.SaveChanges();
我目前看到的是,如果我在myEntity存根对象中将一个字段设置为null, EF将其检测为没有更改,并且不更新数据库中的该列。是否有某种方法可以强制EF将null检测为更改,以便将其保存到数据库中?
您正在设置一个字段为null(因为您刚刚创建了一个全新的空白实体),然后将其分配为null,因此没有更改。
如果您执行以下操作,则可以将该属性标记为已修改:
ctx.Entry(myEntity).Property(e => e.myNullableField).IsModified = true;