如何在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合法嗎? 是的,了解原因