【发布时间】:2019-01-31 03:31:53
【问题描述】:
我对作为另一个 EntityCollection 的对象的 EntityCollection 进行了更改, 当我尝试保存这些更改时,出现以下错误:
EntityCollection 已经初始化。这 InitializeRelatedCollection 方法只应该被调用来初始化 对象图反序列化期间的新 EntityCollection。
有什么我可能缺少的想法吗?
以下是我使用的代码。
public void UpdateCompanyManagement(Company newCompany)
{
Company oldCompany = entities.Companies.Where(c => c.COM_ID == newCompany.COM_ID).SingleOrDefault();
oldCompany.Managements = newCompany.Managements;
try
{
entities.SaveChanges();
}
catch (OptimisticConcurrencyException)
{
entities.Refresh(RefreshMode.ClientWins, newCompany.Managements);
entities.SaveChanges();
}
}
我可以使用以下代码成功保存父集合:
public void UpdateCompanyDetails(Company newCompany)
{
Company oldCompany = entities.Companies.Where(c => c.COM_ID == newCompany.COM_ID).SingleOrDefault();
entities.ObjectStateManager.ChangeObjectState(oldCompany.city, System.Data.EntityState.Modified);
oldCompany = newCompany;
try
{
entities.SaveChanges();
}
catch (OptimisticConcurrencyException)
{
entities.Refresh(RefreshMode.ClientWins, oldCompany);
entities.SaveChanges();
}
}
【问题讨论】:
标签: c# asp.net entity-framework