2017-08-07 3 views
0

Creatorという名前のプロパティを持つProjectというオブジェクトがあり、creatorが複雑な型の場合、Creatorプロパティが割り当てられていないと、EFは自動的にnullを使用します。代わりにデータベースフィールドにnullの代わりに0を使用できますか?Entity Framework Coreには、存在しない参照に対してnullの代わりにデフォルト値の0を使用するオプションがありますか?

答えて

1

Project行の外部キーを指すために、0のプライマリキーを持つCreator行がないため、データベース側の外部キー制約が破られることはありません。

少なくとも、外部キー制約を考慮したリレーショナルデータベースでは、行間のすべての関係は、主キーと外部キーのペアとして表されます。データベースは、外部キーが常にが有効なプライマリキーを指し示すように強制するように設計されています。これにより、FKフィールドをPKフィールドに存在しない値に更新できなくなります。また、FKがまだそれを指している限り(カスケード削除がオンになっていないのに複雑になります)、PKを含む行を削除しようとすると怒鳴ります。理論的には

、Entity Frameworkのは、おそらくあなたがやりたいをしようとに強制することができますが、データベースはそれを拒否し、そしてEFはほぼ確実にそれで0/NULL値を持つ行を取得しようとしている問題を持っているでしょうナビゲーションプロパティを含むように構成されている場合

関連する問題