db.SaveChanges始终提供以下内容:无法定义两个对象之间的关系

时间:2012-12-05 06:03:54

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

为什么我什么时候打电话

db.SaveChanges();

我发现了这个错误

The relationship between the two objects cannot be defined because they are attached to different ObjectContext objects

调试后我注意到当我在我的模型中调用getX()函数时会出现问题:

public ICollection<Dish> getX()
        {
            if (this.x== null)
            {
                return x= this.initX().ToList<X>();
            }
            return x;
        } 

initX是一个简单的linq查询

为什么我无法设置x的值?所以当我将行更改为

return this.initX().ToList<X>(); // whithout x=...

它运作正常......

1 个答案:

答案 0 :(得分:0)

确保您对此交易中的所有查询使用ObjectContext的相同实例。