1

数百のテーブルを持つ大規模なレガシー トランザクション タイプの SqlServer データベースがあり、これらのテーブルのフィールドのほとんどで、Allow Null 属性がオンになっています。

また、Entity Framework を使用しており、データベースにアクセスするための新しい C# を開発しています。EF によって生成された POCO クラスでは、フィールド プロパティにはもちろん Nullable デコレータがあり、null 許容データ型 ("int ?" など) を生成します。

その影響は、特定のフィールドに null が含まれていて、フィールドにアクセスする前に明示的に null をチェックしないと、アプリが爆発することです。また、各フィールドをキャストして使用するか、Value プロパティを使用する必要があります。

もちろん、スキーマを変更して、Allow Null プロパティをオフにすることもできますが、DBA から、変更を避けたいとの反発を受けています。

EF ジェネレーターで、一部またはすべてのフィールドの Nullable 属性をオフにし、select ステートメントで null フィールドのデフォルト値 (int の場合は 0、bool の場合は false など) を返すようにロジックを強制する方法はありますか?挿入/更新にデフォルト値を使用するには?

4

0 に答える 0