C#实体框架4.3

时间:2012-03-24 17:06:22

标签: c# entity-framework

EF在数据库中默认使一些属性不可为空,是否有某种方法可以过度使用某些属性?我试着搜索数据注释,但一无所获。

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

1 个答案:

答案 0 :(得分:4)

我假设您使用的是代码优先。您可能对于非可空(值类型)的类型(例如int,bool等)变得不可为空。您需要使用这些类型的可空版本才能执行此操作:

int? MyColumnThatIsNullable

这个

int MyColumnThatIsNOTNullable

考虑代码如何工作,这对你有意义。如果某个字段是int并且尝试将null传递给代码,那么您将遇到某种错误或魔术(默认)值。这将无法正确表示数据库中的值。因此,如果您使用可空版本,那么数据库中的null可以表示它的真实含义,即null。