C# 实体SaveChanges引发异常
我正在数据库中保存一些地点/城市。在我向数据库中的表添加一个新列并更新项目中的数据模型之前,一切都很顺利 我的位置/城市确实通过我的C# 实体SaveChanges引发异常,c#,asp.net-mvc,database,asp.net-mvc-3,C#,Asp.net Mvc,Database,Asp.net Mvc 3,我正在数据库中保存一些地点/城市。在我向数据库中的表添加一个新列并更新项目中的数据模型之前,一切都很顺利 我的位置/城市确实通过我的保存了下来。_entities.SaveChanges()抛出一个执行选项,该选项类似于: 已成功提交对数据库的更改,但更新对象上下文时出错。ObjectContext可能处于不一致的状态。内部异常消息:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突。在调用AcceptChanges之前,请确保键值是唯一的
保存了下来。_entities.SaveChanges()代码>抛出一个执行选项,该选项类似于:
已成功提交对数据库的更改,但更新对象上下文时出错。ObjectContext可能处于不一致的状态。内部异常消息:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突。在调用AcceptChanges之前,请确保键值是唯一的。
我真的不知道是什么问题,因为它以前工作,这种变化不应该影响它真的
下面是一些代码:
首先,我将所有对象放入当前位置。
我通过foreach将它们循环以将项添加到方法add()。
最后我调用了_entites.SaveChanges()。所有内容都保存了,但我收到一个错误
var webService = new WeatherWebService();
currentLocation = webService.FindLocation(city);
// ...save the user in the database.
foreach (var item in currentLocation)
{
this._repository.Add(item);
}
this._repository.Save();
public override void Add(Location location)
{
this._entities.Locations.AddObject(location);
}
public override void Save()
{
this._entities.SaveChanges();
}
我怀疑出现异常可能是由于两个不同的问题:
1-在以前的通话中,您已检索到位置;您正在尝试插入相同的值。
2-从web服务检索的位置实体的主键不唯一
为了确定确切的问题,请检查显示的异常的内部异常。您必须发布(摘要)类,可能还有代码。我在数据库中使用自动增量。它被插入,但我仍然得到错误…内部异常为空