如何在Entity Framework中将字段设置为DBNull
-
03-07-2019 - |
题
如何在Entity Framework中将字段设置为DBNull?字段是强类型的,因此您不能将它设置为等于DBNull.Value,我没有找到任何方法将字段设置为DBNull。看起来这是必要的事情,但经过大量的谷歌研究后,我一无所获。
我正在尝试使用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
将自动发送到数据库作为插入或更新命令的一部分。
希望这会有所帮助 亚历
其他提示
将字段值设置为 null
。实体框架将其转换为 System.DBNull
。
我从未使用过实体框架,但是你可以将变量变成可以为空的类型吗?
类似
dim entityVar as nullable(of date)
然后你可以做=什么都没有,它什么都不会。
但就像我说的那样,我从未使用过实体框架
在google上查看时,我发现 Microsoft Connect上的错误报告
不隶属于 StackOverflow