मेरे पास एक समान समस्या थी और मैंने ऑब्जेक्टसेट के मर्ज विकल्प को बदलकर इसे हल किया। उदाहरण:
using (TargetDBDataContext db = new TargetDBDataContext())
{
db.SomeView.MergeOption = System.Data.Objects.MergeOption.NoTracking;
return db. SomeView.ToList();
}
ऐसा लगता है कि एंटिटी फ्रेमवर्क (EF) उन दृश्यों को सही ढंग से हैंडल नहीं करता है जिनमें डुप्लीकेट प्राथमिक कुंजियाँ हैं या बिल्कुल भी प्राथमिक कुंजियाँ नहीं हैं। इसलिए जब दो पंक्तियाँ हैं जिन्हें EF समान मान रहा है, EF पहली पंक्ति को लोड करेगा जैसा उसे करना चाहिए, लेकिन दूसरी पंक्ति को लोड नहीं करेगा क्योंकि यह मान लेगा कि यह पहले से ही भरी हुई है।