我将一些对象插入数据库,但是出现以下错误:
类型' System.InvalidOperationException'的例外情况发生在 System.Data.Entity.dll但未在用户代码中处理
附加信息:无法引用实体对象 IEntityChangeTracker的多个实例。
我试图研究并找到问题,但无法找到解决和理解问题的正确方法。任何帮助表示赞赏。
以下是导致错误的小型源部分:
SysUsers User = GetUser()
foreach (int country in data.countries) {
foreach (int street in data.streets)
{
BrowsedData tempBrowsed = new BrowsedData();
MapInfo tempInformation = WorldInformationController.FindInformation(country, street);
tempBrowsed.Information = tempInformation;
tempBrowsed.User = User;
tempBrowsed.UpdatedBy = User;
tempBrowsed.sDateTime = data.IndividualFiscalYearEnds
.Where(a => a.C_ID == country)
.Select(a => a.LastDate).FirstOrDefault();
this.Database.BrowsedData.Add(tempBrowsed);
this.Database.SaveChanges();
}
}
错误表示此行:this.Database.BrowsedData.Add(tempBrowsed);
答案 0 :(得分:0)
您正在尝试将实体附加到您的上下文,但它已经附加到另一个实体。
您已查看此https://stackoverflow.com/a/10194299/1481690
我假设同样的问题
BrowsedData and MapInfo
未使用相同的上下文实例
这也是同一主题中的另一个答案,可能有助于你的案例https://stackoverflow.com/a/27860667/1481690