【发布时间】:2014-03-13 02:22:19
【问题描述】:
好吧,我有一个模型,其中包含一个在循环结构中保存更改的集合
foreach(Customer objCustomer in listCustomer)
{
try
{
db.Customer.Add(objCustomer);
db.SaveChanges();
}
catch(Exception ex)
{
db.Entry(objCustomer).State = EntityState.Detach;
}
}
当它在与实体相关的集合中抛出任何异常时,下一个会继续抛出异常。
我试图分离整个集合,但没有成功
foreach(Customer objCustomer in listCustomer)
{
try
{
db.Customer.Add(objCustomer);
db.SaveChanges();
}
catch(Exception ex)
{
for (int i = 0; i < objCustomer.Address; i++)
{
db.Entry(objCustomer.Address[i]).State = EntityState.Detach;
}
db.Entry(objCustomer).State = EntityState.Detach;
}
}
有什么建议吗?
【问题讨论】:
-
1.如果“添加”操作失败,我认为您不能“分离”实体。 2. 我猜您实际上是在尝试更新现有客户,但错误地将其添加到数据库中?
-
实际上我正在尝试添加,如果不存在,如果存在则更新
-
你遇到了什么异常?!
-
集合地址中的 DbValidation 异常,在第一次之后它不断为所有实体抛出相同的异常
标签: c# entity-framework