EF - 在不更改数据库的情况下消除可空字段

时间:2013-08-22 14:59:39

标签: entity-framework linq-to-entities nullreferenceexception nullable

我们有一个包含数百个表的大型遗留事务类型SqlServer数据库,这些表中的大多数字段都打开了Allow Null属性。

我们也在使用Entity Frameworks并正在开发一个新的C#来访问数据库。在由EF生成的POCO类中,字段属性当然具有Nullable装饰器,它可以生成可为空的数据类型(例如,“int?”)。

影响是,如果任何给定字段包含null,并且我们在访问字段之前没有显式检查null,则应用程序将会爆炸。每个字段也必须使用,或者必须使用Value属性。

当然,我们可以更改架构并关闭Allow Null属性,但是会从想要避免进行任何更改的DBA那里得到推迟。

EF生成器中是否有一种方法可以关闭某些或所有字段的Nullable属性,并强制逻辑返回null字段的默认值(例如,0表示int,false表示bool等)语句,并使用插入/更新的默认值?

0 个答案:

没有答案