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

8 dbnull entity-framework

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

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

 myEntity.mydate = Nothing
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*mes 15

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

例如,如果一个OrderDatetime调用了一个可为空的列CreatedDate,那么生成的Order类将如下所示:

public partial class Order: EntityObject
{
  ...
  private DateTime? _createdDate;
  ...
}
Run Code Online (Sandbox Code Playgroud)

如果_ createdDate有没有价值,当你调用ObjectContext.SaveChanges()一个System.DBNull作为插入或更新命令的一部分将被自动发送到数据库.

希望这有助于Alex

  • 是的,这是正确的亚历克斯 问题就在我身边.我认为可以为空的字段不是. (2认同)

And*_*are 8

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