この問題は Stack Overflow で何度も発生していることを知っています。私はそれらを見てきましたが、これはユニークであると信じています:
- LINQ 式で
.Single()
orを使用していない.SingleOrDefault()
- モデルに「Id」や「ID」などの重複がないかチェックしましたが、ありません
- これは、Kendo UI MVC グリッド、任意のテーブル、そのようなグリッドを持つ Web サイト内の任意のページのオンロードで発生し、それぞれ独自のグリッドを持ついくつかの異なるページがあります。
いくつかの歴史がありますが、いくつかの外部キーを ID (int) から 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;
}
「シーケンスには複数の一致する要素が含まれています」というエラーが表示され続けます。そのエラーのある中央の行が強調表示されます。
データベース内の何かを変更すると、これが発生する可能性がありますか? かつては機能し、それ以来変更されていないコードが、現在は機能していません。これは非常に混乱を招きます。