2016-05-31 80 views
0

我有這個表的情況實體框架6多重嵌套的主從嵌件

model

因此,大家可以看到有一個多層嵌套的主從表和我有一個requeriment,我要插入在前三個實體中,我使用實體框架6,數據庫優先。 (mvc Web api2)。我設法以這種方式做前兩個實體:

Entity1 entity1 = new Entity1() 
    { 
     Field = "a field" 
    }; 

    entity1.Entity2.Add(new Entity2() 
    { 
     Field = "another field" 

    }); 

// ****************************** *
//且保存爲:

using (var context = new backendEntities()) 
{ 
    context.Entity1.Add(entity1); 
    context.SaveChanges(); 
} 

而對於前兩個實體保存好,但我不能或沒有發現添加下一個實體(ENTITY3)的方式。所有主鍵都是身份自動數字。我怎樣才能一次保存這三個實體?謝謝大家幫助。

+0

你是什麼意思的'Entity3',你也使用* Code-First *或* Model-First *? – Luiso

+0

什麼阻止你使用'entity2.Entity3.Add(..);'? –

+0

@Luiso - 實體(1,2,3,4)是表格。我使用數據庫優先。 –

回答

1

你想要做以下事情嗎?

Entity1 entity1 = new Entity1() 
{ 
    Field = "a field" 
}; 

var entity2 = new Entity2() 
{ 
    Field = "another field" 
}; 

entity1.Entity2.Add(entity2); 

var entity3 = new Entity3() 
{ 
    Field = "another field" 
}; 

entity2.Entity3.Add(entity3); 

var entity4 = new Entity4() 
{ 
    Field = "another field" 
}; 

entity3.Entity4.Add(entity4); 

using (var context = new backendEntities()) 
{ 
    context.Entity1.Add(entity1); 
    context.SaveChanges(); 
} 
+0

作品完美的男人,非常感謝你。 –