1

我们有一个大型的旧事务型 SqlServer 数据库,其中包含数百个表,并且这些表中的大多数字段都启用了 Allow Null 属性。

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

其影响是,如果任何给定字段包含 null 并且我们在访问该字段之前没有明确检查 null,则应用程序将崩溃。还必须强制转换每个字段以供使用,或者必须使用 Value 属性。

当然,我们可以更改架构并关闭 Allow Null 属性,但会受到 DBA 的反对,他们希望避免进行任何更改。

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

4

0 回答 0