我有一个带有可空整数字段的表,它是一个外键。当我尝试将实体模型的Nullable属性设置为True时,我得到一个错误,指出Int32类型的字段不能为null。因此,如果Entity Framework不支持可空整数,那么如何使用空值将行插入表中?如果没有为可空属性指定值,则实体框架会插入值0,这会因外键约束而引发错误。
SQL Server可以使用可以为空的外键,所以我想保持检查约束。我有什么选择?
提前致谢!
答案 0 :(得分:2)
EF 支持可以为空的int。但是int和int?是两种不同的类型。针对可以为空的int列生成新模型,您将看到。
更新模型的原因并未改变关联的多重性,因为EF会在您更新时尝试保留您的CSDL自定义项。它将主要从头开始重新生成SSDL,并将任何新对象/关系添加到CSDL中,但它不会覆盖您可能进行的更改。