2016-06-01 4 views
0

1つのリレーションを持つエンティティが2つありますが、1-1の関係もあります。エンティティフレームワーク:関連するエンティティを保存する

ここでは、簡単なイラストです:

class Parent 
{ 
    public Int32 Id { get; set; } 
    public List<Child> Children { get; set; } 
    public Int32 LastChildId { get; set; } 
    public Child LastChild { get; set; } 
} 

class Child 
{ 
    public Int32 Id { get; set; } 
    public Int32 ParentId { get; set; } 
} 

とインスタンス化:親オブジェクトpはDataContextのを経由して、DBに挿入されます後

var c1 = new Child() { }; 
var c2 = new Child() { }; 

var p = new Parent() 
{ 
    Children = new List<Child> { c1, c2 }, 
    LastChild = c2 
}; 

ウィルEntity Frameworkのは、最後の子IDを保ちますか?

答えて

1

あなたがやった場合:あなたの上記のコードで

context.Parents.Add(p); 
context.SaveChanges(); 

を、その親pLastChildIDの値としてc2のIDを持つことになります。親は、相互参照表を介して両方の子どもとの関係も有する。これらの子供の両方は、Parentエンティティプロパティを通じてpへの参照を持ちます。

関連する問題