2013-02-11 79 views
3

我正在寻找答案,但我没有找到任何答案。所以当我在context.Customers中添加第二个元素时,我得到一个例外:DbContext.Add错误,集合被修改;枚举操作可能不会执行

收集被修改;枚举操作可能不会执行。

为什么?任何帮助都感激不尽。

我的代码:

public class CompanyInitalizer : DropCreateDatabaseAlways<CompanyContext> 
{ 
    protected override void Seed(CompanyContext context) 
    { 
     var contacts = new List<Contact> 
     { 
      new Contact { 
       Vezetéknév="Nagy", 
       Keresztnév="János", 
       Beosztás="alkalmazott", 
       Email="[email protected]", 
       Telefonszám="06361254452" 
      }, 

      new Contact { 
       Vezetéknév="Kiss", 
       Keresztnév="Ferenc", 
       Beosztás="alkalmazott", 
       Email="[email protected]", 
       Telefonszám="06361254452" 
      } 
     }; 

     contacts.ForEach(d => context.Contacts.Add(d)); 
     context.SaveChanges(); 

     var events = new List<Event> 
     { 
      new Event { 
       Időpont=DateTime.Parse("12/31/2010"), 
       Típusa="Tárgyalás", 
       Leírás="Éves költségvetés" 
      }, 

      new Event { 
       Időpont=DateTime.Parse("12/31/2010"), 
       Típusa="Tárgyalás", 
       Leírás="Éves költségvetés" 
      } 
     }; 

     events.ForEach(d => context.Events.Add(d)); 
     context.SaveChanges(); 


     var customers = new List<Customer> 
     { 
      new Customer { 
       Cégnév ="Default1.Kft", 
       Irányítószám= 1012, 
       Város="Budapest", 
       Cím="Tavasz utca 54.", 
       Weblap="http://www.default1.com", 
       Telefonszám="06361254452", 
       Contacts= contacts, 
       Events=events 
      }, 

      new Customer { 
       Cégnév ="Default2.Kft", 
       Irányítószám= 2440, 
       Város="Százhalombatta", 
       Cím="Tél utca 34.", 
       Weblap="http://www.default1.com", 
       Telefonszám="063623254452", 
       Contacts=contacts, 
       Events=events 
      } 
     }; 


    customers.ForEach(d => context.Customers.Add(d)); //Throw exception here! 
    context.SaveChanges();   
    } 
} 
+1

http://stackoverflow.com/questions/7536459/ef-4-1-and-collection-was-modified-enumeration-operation-may-not-execute-exc - 这可以帮助你 – ssilas777 2013-02-11 12:38:29

+0

最有可能相同问题由ssilas提及。一些循环引用EF也许不会。另一篇文章有​​很多细节。建议你移动回答SSILAS – 2013-02-11 13:57:10

+0

这不工作,如何解决它? – 2013-02-11 22:46:23

回答

2

问题解决了! 向客户添加相同的实体。我创建新的联系人和事件实体并添加到客户。

相关问题