私は、Entity Frameworkに最新のリリースには多くの「自動」機能があることに気付きました。いつものように、これは真に両刃の剣です。Entity Framework Code Firstで自動リレーションシップを無効にすることはできますか?
具体的には、FluentAPI(http://msdn.microsoft.com/en-us/library/hh295844(v=vs.103))を使用して、OnModelBuilderイベントを使用してオンザフライでモデルを作成しています。 .aspx)。私は多数のエンティティを持っており、すべてがMicrosoftの "標準"に準拠しているわけではありません。たとえば、私のID列の名前はPersonIdではなくPerson_idです。そのため、Entityはテーブルのプライマリキーを常に自動的に検出するとは限りません。少なくとも、そうではないようです。 エンティティが自動的に検出するプロパティとリレーションシップと、誤って無視するか間違っているのかが必ずしもわからないのですが、それは間違いです。ほとんどのエンティティもヘルパーメソッドとプロパティ(enumなどを処理するためのもの)を持つ部分クラスを持っているので、いつかエンティティがマッピングされるべきでないものの間で自動的にマッピングを作成することを恐れていますいくつか疑いのないプログラマー)。
私のOnModelBuilderメソッドで100%明示的にすることができるように、Entityの自動関係フックアップ機能を無効にする方法はありますか?または、少なくとも、追加のマッピングの詳細を追加する必要があるとき(特定のフィールドを宣言する必要があるときや特定のナビゲーションプロパティが自動検出されないときなど)には、どうすればわかりますか?
ありがとうございました!
このようなことが心配なのであれば、新しい "コードファースト"のものではなく、EFの "デザインファースト"の側面を使うべきでしょう。 –
私は偶然EDMXで始まりました。私は、コードを最初に思いつくように「アップグレード」しようとしていました。それは、コード内にあるので管理しやすくなるかもしれませんが、努力と時間をデバッグするだけの価値はないかもしれません。 – Brett