さて、私はADO.NETEntityFrameworkを使用するための最初の試みを行っています。
私のテストケースには、現在、メンバーとプロファイルの2つのテーブルがあり、1:1の関係にあるSQLServer2008データベースが含まれています。
次に、エンティティデータモデルウィザードを使用して、データベースからEDMを自動生成しました。正しい関連付けのモデルを生成しました。今私はこれをしたい:
ObjectQuery<Member> members = entities.Member;
IQueryable<Member> membersQuery = from m in members select m;
foreach (Member m in membersQuery)
{
Profile p = m.Profile;
...
}
どちらがうまくいくか。私はすべてのメンバーを繰り返すことができます。しかし、私が抱えている問題は、m.Profileが常にnullであるということです。MSDNライブラリのLINQtoEntitiesの例は、そのようなナビゲーション関係をシームレスにたどることができることを示唆しているようですが、そのようには機能していないようです。entity.Profile.ToListを使用するなど、何らかの方法で最初にプロファイルを別の呼び出しでロードすると、m.Profileは有効なプロファイルを指すことがわかりました。
だから私の質問は、フレームワークにナビゲーション関係に沿ってデータを自動的にロードするように強制するエレガントな方法がありますか、それとも結合などで明示的にそれを行う必要がありますか?
ありがとう