私はこの非常に基本的なテーブル構造を持っています:
dbo.tblCategory
dbo.tblQuestion (tblCategory との多対 1 の関係)
dbo.tblAnswer (tblQuestion との多対 1 の関係)
基本的に、私がやろうとしているのは、カテゴリをロードするときに、すべての質問とすべての回答もロードしたいということです。
これで、次のコードを使用してこれを行うことができました。
public tblCategory Retrieve(int id)
{
using (var entities = Context)
{
var dto =
(from t in entities.tblCategory.Include("tblQuestion")
.Include("tblQuestion.tblAnswers")
where t.Id == id
select t).FirstOrDefault();
return entities.DetachObjectGraph(dto);
}
}
}
ただし、私はこれに完全に夢中になっているわけではありません。モデルで関係名が変更された場合。プロジェクトのビルド時にエラーが発生することはありません。理想的には、ラムダ式を使用したいと思います。このようなもの:
public tblCategory Retrieve(int id)
{
using (var entities = Context)
{
var dto =
(from t in entities.tblCategory.Include(t => t.tblQuestion)
where t.Id == id
select t).FirstOrDefault();
return entities.DetachObjectGraph(dto);
}
}
さて、上記のスニペットで; Answers テーブルにドリルダウンする方法に行き詰まっています。このラムダ式に何を使用できるかについて何か考えはありますか?