2010-10-25 68 views
0

我有一個名爲SavedAnswers的域集合類型,並希望將該集合添加到我的實體框架類型條目中。我一直在想弄清楚我需要做什麼,但是我對所有的信息感到困惑。將對象集合添加到實體框架

答案有一個標識主鍵和兩個外鍵,這帶來了更多的問題。

public void AddEntries(List<SavedAnswers> answers) 
    { 
     foreach (var item in answers) 
     { 
      db.Entries.AddObject(Entries.CreateEntries(1, item.QuestionId, item.AnswerId)); 
     } 

     db.SaveChanges(); 
    } 
+0

那麼,有什麼問題? – 2010-10-25 23:55:02

+0

對不起,我只是不知道我是否以正確的方式進行操作。 – MisterIsaak 2010-10-26 04:11:21

+0

是的,除了我在答案中提到的一件事。 – 2010-10-26 05:25:40

回答

2

你的代碼看起來除了你不應該使用生成的工廠方法你進入對象上良好。相反,只是通過構造函數創建它,並與對象初始化填充它:

public void AddEntries(List answers) { 
    foreach (var item in answers) { 
     db.Entries.AddObject(new Entry() 
     { 
      QuestionId = item.QuestionId, 
      AnswerId = item.AnswerId 
     }); 
    } 
    db.SaveChanges(); 
} 

當您使用ObjectSet.AddObject方法來補充,不要在商店中不存在新創建的對象,該實體將得到一個自動生成的臨時的EntityKey及其實體狀態將被設置爲添加

+0

它的工作原理!感謝您添加關於EntityKey和狀態的解釋。 – MisterIsaak 2010-10-26 17:32:22