我正在寻找答案,但我没有找到任何答案。所以当我在context.Customers
中添加第二个元素时,我得到一个异常:
收藏被修改;枚举操作可能无法执行。
为什么呢?任何帮助将不胜感激。
我的代码:
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="nagy.janos@default1.com",
Telefonszám="06361254452"
},
new Contact {
Vezetéknév="Kiss",
Keresztnév="Ferenc",
Beosztás="alkalmazott",
Email="kiss.ferenc@default1.com",
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();
}
}
答案 0 :(得分:2)
问题解决了! 向客户添加了相同的实体。我创建新的联系人和事件实体并添加到客户。