私は正しく、次をマップするクエリを実行しよう:3レベルのディープマッピングでDapperでマルチマッピングクエリを作成するにはどうすればよいですか?
public class A
{
public int Id { get; set; }
public string Name { get; set; }
public int BId {get; set; }
public List<B> { get; set; }
}
public class B
{
public int Id { get; set; }
public string Name { get; set; }
public int CId { get; set; }
public int DId { get; set; }
public C C { get; set; }
public D D { get; set; }
}
public class C
{
public int Id { get; set; }
public string Name { get; set; }
}
public class D
{
public int Id { get; set; }
public string Name { get; set; }
}
どのように私はCで正しくエンティティBのリストを持つエンティティAをマッピングし、Dが満たされたクエリを書くのですか?
ハム、私は明日それを試してみます。 1つのクエリでそれを行うことはできませんか? – GustavoAndrade
あなたは1つのクエリでそれを行うことができますし、その後でグループ化します。私はそれが2つでもっと好きで、クエリ2ではAへの完全なマップを実行しません。必要に応じてquery2を返すWithDetailsというパラメータを持つこともできます。つまり、テーブルのクエリ(例:リストページ)と詳細クエリが1つあります。 – BlackjacketMack
最後の1つのコメント...あなたはおそらく完全なquery2.Aをマッピングする必要はありません.Query.BにAidがある限り、それをquery1.A.AIdまで一致させることができます。副次的な点ですが、それによってquery2でその結合を行う必要がなくなり、返される列の数が減ります...どちらも良いことです。私はそれを明確にするために私の応答を更新するつもりです。 – BlackjacketMack