私は、Entity FrameworkとCode Firstとの単純な一対多の関係を実装しようとしています。 私は簡単に私の親クラスを設定します。Entity Framework - 子オブジェクトを親に追加する
public class Parent
{
[Key]
public long ParentId { get; set; }
public ICollection<Child> Child { get; set; }
public Parent()
{
Child = new HashSet<Child>();
}
}
をこれは当然の簡易版です。私の子クラスは親1と同様に簡単です :
public class Child
{
[Key]
public long ChildId { get; set; }
public int ParentId { get; set; }
public virtual Parent parent { get; set; }
}
私のコントローラは、EFによって生成されたものです。 私の投稿メソッドに親IDを持つ子を作成すると、データベースにIDが設定されていますが、親を取得すると、子リストは空になります。
私はそうのようなコントローラで親に子を追加しようとしました:明らかに影響を与えなかった
db.parent.find(child.parentId).Child.Add(child);
。
子オブジェクトの親はnullで、親の子リストは空です。
子供を親のコレクションに入れるにはどうすればよいですか?
ありがとうございました!
あなたは)(context.SaveChangesを呼び出したのですか? – amyn
'Child'プロパティを' public virtual ICollection Child {get;}に変更する必要があります。セット; } ' –
こんにちは! 興味がありがとう、私は実際にSaveChanges()を呼び出します。 仮想を追加しても問題は解決しませんでした。結果をシリアライズするためにプロキシ作成をオフにしたことを付け加えておきます。 編集していただきありがとうございます。 –