如何在Entity Framework中将字段设置为DBNull

dbnull entity-framework

如何在Entity Framework中将字段设置为DBNull?字段是强类型的,因此您不能将它设置为等于DBNull.Value,我没有找到任何方法将字段设置为DBNull。看起来这是必要的事情,但经过大量的谷歌研究后,我一无所获。

我正在尝试使用vb.net在Entity Framework中设置datetime字段。这需要我写

 myEntity.mydate = Nothing

这不会将该字段设置为null,而是将其设置为默认日期值,该值不是SQL Server中的有效日期值。

一般承认的答案

如果列在数据库中可为空,则结果类也将具有可空属性。

例如,如果Order表具有名为CreatedDate的可为空的Datetime列,则生成的Order类将如下所示:

public partial class Order: EntityObject
{
  ...
  private DateTime? _createdDate;
  ...
}

如果在调用ObjectContext.SaveChanges()时_ createdDate没有值,则System.DBNull将作为insert或update命令的一部分自动发送到数据库。

希望这有助于Alex


热门答案

将字段值设置为null 。实体框架将其转换为System.DBNull




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因