EFウィザードで「モデルに外部キー列を含める」オプションを使用する
-
10-10-2019 - |
質問
主にこのオプションを使用していますか(デフォルトがチェックされています)、それともチェックしますか?
エンティティにFK列とナビゲーションプロパティの両方がある場合、マッピングツールの問題が発生することがわかりました。
概念モデルのガイドラインに厳密に従う場合、それらの列は決してプロパティに到達するべきではないと思いますか?
うまくいけば、多くの人が返信して、開発者がより頻繁に選択するものをよりよく表現できるようにすることができます。
解決
概念モデルのガイドラインに厳密に従う場合、それらの列は決してプロパティに到達するべきではないと思いますか?
正しい - それはEFチームが.NET 3.5 SP1を使用した最初のリリースで行ったことであり、それについて非常に否定的なフィードバックを大量に獲得しました。
はい、「純粋に」話す - 外部キー列を直接使用するべきではありません - 代わりに参照されるエンティティを処理する適切な方法を使用する必要があります。しかし、実際には、多くの場合、参照されているエンティティ全体に対処する必要はありません。実際には、外部キー列を設定するだけで実行されます(たとえば、データや他の多くのケースをインポートするとき)。
だからはい - 私は同意します - それは時々ちょっとしたハックです、私はあなたがエンティティで外部キー列を使用するオプションがあるという大きなプラスと見なします - 結局、データベースレベルで、それがあなたのことです'llも対処しています。
私の意見では、真面目な仕事でEFを使用している同僚やすべてのブロガーとEFの達人から聞いたすべての推奨事項(書いたジュリーラーマンのように efで予約) - そのオプションをオンにすると、両方の世界の最高のものが得られます!