Měl jsem podobný problém a vyřešil jsem ho změnou možnosti sloučení objektu ObjectSet.Example:
using (TargetDBDataContext db = new TargetDBDataContext())
{
db.SomeView.MergeOption = System.Data.Objects.MergeOption.NoTracking;
return db. SomeView.ToList();
}
Vypadá to, že rámec entity (EF) správně nezpracovává pohledy, které mají duplicitní primární klíče nebo žádné primární klíče. Takže když existují dva řádky, které EF považuje za stejné, EF načte první řádek, jak by měl, ale nenačte druhý řádek, protože bude mít za to, že je již načten.