MVC实体异常,真的很奇怪

时间:2013-01-12 12:50:09

标签: c# asp.net-mvc entity-framework

我在我的数据库中保存了一些位置/城市。

我的位置/城市通过我的this._entities.SaveChanges();得到的保存会引发类似的行为:

The changes to the database were committed successfully, but an error occurred while updating the object context. The ObjectContext might be in an inconsistent state. Inner exception message:AcceptChanges cannot continue because the object's key values conflict with another object in the ObjectStateManager. Make sure that the key values are unique before calling AcceptChanges.

我真的不知道这个问题是什么,因为它之前有效,这种变化不应该影响它......

这是一些代码:
首先,我将所有对象都放入currentLocation。 我通过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 个答案:

答案 0 :(得分:0)

问题解决了,似乎你必须从自动增量中输出一个id ...否则它会使每个帖子的ID为0,因此它认为它的几个具有相同的ID。

像NewId一样使用@@ SCOPE_IDENTIY