次の 2 つのクラスがあるとします。
public class Parent
{
public int ID { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
public class Child
{
public int ID { get; set; }
public int ParentID { get; set; }
public virtual Parent Parent { get; set; }
}
次の方法でそれぞれを作成するとします。
//Create a parent with new children
public void CreateParent(MyDbContext context)
{
context.Parents.Add(new Parent
{
Children = new List<Child>()
{
new Child(),
new Child(),
new Child()
}
});
context.SaveChanges();
}
//Create a child with a new parent
public void CreateChild(MyDbContext context)
{
context.Children.Add(new Child
{
Parent = new Parent()
});
context.SaveChanges();
}
これらのメソッドのいずれかが、適切に割り当てられた外部キーを持つ親オブジェクトと子オブジェクトの両方を作成しますか? 私の直感は、CreateParent は機能するが、CreateChild は機能しないことを示しています。
ありがとうございました!