2009-11-06 107 views
0

當我有一個實體持有對單一實體的引用時,我可以創建一個EntityKey並將該值分配給EntityNameReference.Value屬性。它完美地運作並且像魅力一樣。1-n關係和EntityKey與EntityFramework

如果我有一個持有對多個實體的引用的實體,我不能成功地做同樣的事情。假設一個名爲Application的實體具有一個包含對模塊的引用的屬性(所以Application具有一個名爲Modules的List屬性)。

如何以編程方式將實體鍵附加到該類屬性?

我想這樣的事情,沒有任何成功:

foreach(int idModule in selectedModules) 
{ 
Module m = new Module(); 
m.EntityKey = new EntityKey("myModel.ModuleSet", "idModule", idModule); 
ctx.Attach(m); //Here I have an exception 
app.Modules.Add(m); 

非常感謝你的幫助。 Marco

+0

你可以說得更詳細點嗎? – 2009-11-06 20:52:28

回答

0

模塊是否具有應用程序導航屬性?這應該。

我會寫類似: 「例外」

foreach(int idModule in selectedModules) 
{ 
    Module m = new Module(); 
    m.EntityKey = new EntityKey("myModel.ModuleSet", "idModule", idModule); 
    m.Application = app; 
    app.Modules.Add(m); 
} 
ctx.SaveChanges();