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

标签 entity-framework dbnull

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

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

 myEntity.mydate = Nothing

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

最佳答案

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

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

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

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

希望这可以帮助
亚历克斯

关于entity-framework - 如何在 Entity Framework 中将字段设置为DBNull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/820752/

相关文章:

c# - 使用 LINQ to Entities 向表中插入多条记录的正确方法

mysql - 无法将类型为 'System.String' 的对象转换为日期时间文字上的类型 'System.DateTime'

c# - 如何使用动态 OR 语句构建 Linq 查询?

c# - ProviderName= Npgsql 无法在 Azure 上运行

c# - 从 SQL 数据库处理 null int/char 的最佳实践是什么?

c# - 使用 C# 的 SQLDataReader 值出现 System.IndexOutOfRangeException

linq - 使用 LINQ to Entities 获取前 N 条记录

c# - 无论如何需要 DBNull 做什么?

c# - 在 C# 中处理 DBNull

c# - SetField 无法将 DBNull.Value 转换为 System.Int32