次のクラスがあるとします。
public class Parent
{
public string name;
IList<Child> children;
}
public class Child
{
public string parentName;
public int age;
}
理解できるように、各親は複数の子を持つことができ、複数の親を持つことができます。これらのクラスを初期化する最良の方法は何ですか? すべての親を取得し、データベースからすべての子を取得してから、LINQ を使用する方がよいでしょうか?
IList<Parent> parents = GetParents() //assume this gets parents from db
IList<Child> children = GetChildren() //assume this gets children from db
foreach(Parent parent in parents)
{
parent.children = children.Where(x=>x.parentName == parent.name).ToList();
}
または、すべての親を取得し、各親を反復処理して、parentName でデータベースにクエリを実行し、子情報を取得しますか? 私が持っている要件により、データテーブルまたはデータセットを使用できません。データリーダーしか使えません。
IList<Parent> parents = GetParents()//assume this gets parents from db
foreach(Parent parent in parents)
{
parent.children = GetChildrenByParentName();//assume this gets parents from db by parentName
}
ありがとうございました