EF在数据库中默认使一些属性不可为空,是否有某种方法可以过度使用某些属性?我试着搜索数据注释,但一无所获。
我首先使用代码,属性是int和datetime
答案 0 :(得分:4)
我假设您使用的是代码优先。您可能对于非可空(值类型)的类型(例如int,bool等)变得不可为空。您需要使用这些类型的可空版本才能执行此操作:
int? MyColumnThatIsNullable
和不这个
int MyColumnThatIsNOTNullable
考虑代码如何工作,这对你有意义。如果某个字段是int并且尝试将null传递给代码,那么您将遇到某种错误或魔术(默认)值。这将无法正确表示数据库中的值。因此,如果您使用可空版本,那么数据库中的null可以表示它的真实含义,即null。