如何在实体框架中将字段设置为 DBNull

发布于 2024-07-18 02:22:48 字数 317 浏览 12 评论 0原文

如何在实体框架中将字段设置为 DBNull? 这些字段是强类型的,因此您不能将其设置为等于 DBNull.Value,并且我没有找到任何方法将字段设置为 DBNull。 这似乎是一件必要的事情,但经过大量谷歌研究后,我没有发现任何相关内容。

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

 myEntity.mydate = Nothing

This does not set the field to null but反而将其设置为默认日期值,该值在SQL Server中不是有效的日期值。

How do you set a field to DBNull in Entity Framework? The fields are strongly typed so you cannot set it equal to DBNull.Value and I did not find any method to set a field to DBNull. It seems like this is a necessary thing to do, but after much Google research I found nothing about it.

I am trying to set a datetime field in Entity Framework using vb.net. This requires me to write

 myEntity.mydate = Nothing

This does not set the field to null but instead sets it to the default date value which is not a valid date value in SQL Server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

日裸衫吸 2024-07-25 02:22:48

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

例如,如果 Order 表有一个名为 CreatedDate 的可为空的 Datetime 列,那么生成的 Order 类将看起来像这样像这样:

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

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

希望这可以帮助
亚历克斯

If a column is nullable in the database the result class will have a nullable property too.

For example if a Order table has a nullable Datetime column called CreatedDate, then the resulting Order class will looks something like this:

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

If the _createdDate has no value when you call ObjectContext.SaveChanges() a System.DBNull will automatically be sent to the database as part of insert or update command.

Hope this helps
Alex

南街九尾狐 2024-07-25 02:22:48

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

Set the field value to null. The Entity Framework will translate this to System.DBNull.

笔落惊风雨 2024-07-25 02:22:48

我从未使用过实体框架,但是您可以将变量转换为可为空类型吗?

dim entityVar as nullable(of date)

这样你就可以做=nothing,它就什么也不会留下。

但就像我说的,我在搜索谷歌时从未使用过实体框架,

我发现 Microsoft Connect 的错误报告

I never used entity-framework but can you turn a variable into a nullable type?

something like

dim entityVar as nullable(of date)

then you can do the =nothing and it will stay nothing.

but like I said, I never used entity-framework

while looking on google I found that bug report on Microsoft Connect

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文