C#实体框架4.3

本文关键字:框架 实体 | 更新日期: 2023-09-27 18:28:49

EF正在使数据库中的某些属性默认为不可为null,是否有某种方法可以对某些属性进行超越?我尝试搜索数据注释,但一无所获。

我首先使用代码,属性是int和datetime

C#实体框架4.3

我假设您首先使用代码。对于确实不可为null的类型(值类型),例如int、bool等,您可能会得到不可为Null的结果。为了做到这一点,您需要使用这些类型的可为null版本:

int? MyColumnThatIsNullable

并且

int MyColumnThatIsNOTNullable

想想代码是如何工作的,这对你来说是有意义的。如果一个字段是int,并且试图将null传递到代码中,那么您将出现某种错误,或者出现一个神奇的(默认)值。这将不能正确地表示数据库中的值。因此,如果您使用可为null的版本,那么数据库中的null就可以表示为它真正的null。