Include()
モデルに対してLINQで使用する場合、指定するパスパラメータは、関連するオブジェクトの名前またはナビゲーションプロパティの名前にする必要がありますか?
同じテーブルが同じ他のテーブルと複数の関係を持っているので、私は尋ねます。デザイナでは、関連するテーブルのナビゲーションプロパティが次の形式であることに注意してください。
RelatedTable
RelatedTable1
...
RelatedTablen
遅延読み込みがオフになっているため、関連するオブジェクトを明示的に読み込む必要があります。ナビゲーションプロパティを介して関連するオブジェクトのみが必要です: "RelatedTable1"ナビゲーションプロパティ名(つまり "RelatedTable1")をインクルードするように指定してみました。
from row in Table.Include("RelatedTable1")
select row
そしてそれは動作します!これは、パスパラメータがナビゲーションプロパティの名前であることを示唆しています。ただし、関連するエンティティの名前だけを試しました。つまり、次のようになります。
from row in Table.Include("RelatedTable")
select row
そしてそれも機能します!私は何が起こっているのかを理解することを求めています。
(LazyLoadingはオフであり、Include()を使用しない場合、関連はフェッチされません)。