を使用しており、という名前の親エンティティを読み込んでから、フィルターを使用して関連エンティティを明示的に読み込もEF 4.1 DBContext API
うとしています:User
Project
.Where(x => x.IsEnabled)
ここで、「関連エンティティを明示的にロードするときにフィルターを適用する」の下で提案されたアプローチを見つけました。user.Projects
しかし、なぜ人口が増えていないのか分かりません。SQL プロファイラーを使用して、クエリを実行Projects
してデータを返していることを確認しました。しかし、ユーザー オブジェクトにロードされていません。
何かご意見は?
これが私のコードです:
public User GetUser(string userName)
{
try
{
using (var context = new Entities())
{
var user = context.Users.FirstOrDefault(x => string.Compare(x.UserName, userName, true) == 0);
context.Entry(user).Collection(x => x.Projects).Query().Where(x => x.IsEnabled).Load();
//TODO: I expect user.Projects.Count() > 0.
}
}
catch (Exception ex)
{
LogWrapper.DumpException(ex);
}
return null;
}