在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检测为更改,以便将其保存到数据库中?

在EF 4.1中,是否可以使用存根实体将字段设置为空

您正在设置一个字段为null(因为您刚刚创建了一个全新的空白实体),然后将其分配为null,因此没有更改。

如果您执行以下操作,则可以将该属性标记为已修改:

 ctx.Entry(myEntity).Property(e => e.myNullableField).IsModified = true;