親と子の間の関連付けを行うときに、以下のコードが複雑になります。親子データモデルオブジェクトを関連付ける最も良い方法は何ですか?
質問:親子データモデルオブジェクトを関連付ける最も良い方法は何ですか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
using ConsoleApplication1;
class Child
{
public string Name { get; set; }
public Parent Parent { get; set; }
}
class Parent
{
public string Name { get; set; }
public IEnumerable<Child> Children { get; set; }
}
class Program
{
static void Main(string[] args)
{
Parent p1 = new Parent { Name = "P1" };
Child c1 = new Child { Name = "C1" };
c1.Parent = p1;
Child c2 = new Child { Name = "C2" };
c2.Parent = p1;
List<Child> children = new List<Child>();
children.Add(c1);
children.Add(c2);
p1.Children = children;
}
}
私は削除しますChildコンストラクタのchid.Parent = parent、parent.AddChildはそれを既に行います。ちょうどあなた自身を繰り返す。おそらく子のコンストラクタをプライベートにして、入力とその他のプロパティとして親をとるクリエータメソッドを追加し、子を作成し、親のAddChildメソッドを使用します(これをシングルトンにしましょう)。 – hazimdikenli
すぐに書き留めました。そのために残念... – MacX