我检查了其他问题,我使用相同的DbContext进行多项操作,所以这不是问题。
我有一个MVC控制器。在这个控制器内部,我正在做以下事情:
var invites = await (from i in _db.Invitations
where i.User.Id == user.Id && i.Flat.Id == flat.Id
select i).ToListAsync();
_db.Invitations.RemoveRange(invites); //Error here
await _db.SaveChangesAsync();
有人可以向我解释错误发生的原因吗?
非常感谢!
编辑:感谢您的回答,我会尝试这个。目前我正在为我的应用程序中的每个控制器实例化我的DbContext。
private readonly ApplicationDbContext _db = new ApplicationDbContext();
实际上我不喜欢在DbContext中使用单例。它应该有另一种方式。也许我会尝试禁用ChangeTracking或对每个动作使用using。
非常感谢。明天我会告诉你我选择哪种解决方案。
嗯,虽然我有
,但我收到了错误using(var db = new ApplicationDbContext){
...
}
围绕它...任何想法?
答案 0 :(得分:0)
我不知道为什么,但似乎确实存在其他ApplicationDbContexts的引用。由于我不喜欢(完整的)静态方法,我现在在每个请求中创建一个ApplicationDbContext,如下所示: https://stackoverflow.com/a/10153406/1636718
感谢您的帮助!