2011-12-01 63 views
0

我有一個包含多條記錄的列表。我喜歡使用AddObject創建這些記錄,但發生的情況是它只創建列表中的最後一條記錄。MVC AddObject創建多條記錄

下面是代碼

foreach (var item in invlist) { 

     invmodel.tblrec.FirstName = item.FirstName; 
     invmodel.tblrec.LastName = item.LastName; 

     db.tblRec.AddObject(invmodel.tblrec);       

    } 

    db.SaveChanges(); 

回答

2

我將開始與這個非常簡單的代碼進行修改:

foreach (var item in invlist) { 

    var tblRec = new TblRec(); 
    tblRec.FirstName = item.FirstName; 
    tblRec.LastName = item.LastName; 

    db.tblRec.AddObject(tblRec);       

} 

db.SaveChanges(); 

爲什麼?因爲你的代碼反覆添加同一個實例,而對於EF,它仍然是同一個對象 - 它會導致異常,或者只有最後一個項目會被插入到數據庫中。