我知道这个问题在 Stack Overflow 上已经出现过很多次了。我看过它们,但相信这是独一无二的:
- 我没有使用
.Single()
或.SingleOrDefault()
在任何 LINQ 表达式中 - 我检查了我的模型是否有重复项,例如“Id”和“ID”,没有
- 这发生在任何 Kendo UI MVC 网格、任何表格、我的网站中具有此类网格的任何页面上,并且我们有几个不同的页面,每个页面都有自己的网格
只是一些历史,我们只是将一些外键从 ID(整数)更改为 Guid,以便将它们指向数据库中与代码中当前不同的表。相应地更新了模型。我们还为要指向的剑道网格添加了一个视图,并且在视图中进行了更改。但即使是与原始或新 SQL 视图/C# 模型无关的网格似乎也受到了影响。现在,在这个阶段:
public OurDatabase(bool enableLazyLoading=true)
: base("name=OurDBContext")
{
Database.SetInitializer<OurDatabase>(null);
((IObjectContextAdapter)this).ObjectContext.ContextOptions.ProxyCreationEnabled = enableLazyLoading;
((IObjectContextAdapter)this).ObjectContext.ContextOptions.LazyLoadingEnabled = enableLazyLoading;
}
它不断给出错误“序列包含多个匹配元素”。它将在该错误的中间线上突出显示。
数据库中的某些变化会导致这种情况吗?曾经有效的代码,从那时起就没有改变过,现在不行了,这很令人困惑。