J'ai eu un problème similaire et je l'ai résolu en modifiant l'option de fusion de l'ObjectSet.Example :
using (TargetDBDataContext db = new TargetDBDataContext())
{
db.SomeView.MergeOption = System.Data.Objects.MergeOption.NoTracking;
return db. SomeView.ToList();
}
Il semble que entity framework (EF) ne gère pas correctement les vues qui ont des clés primaires dupliquées ou aucune clé primaire du tout. Ainsi, lorsqu'il y a deux lignes considérées comme égales par EF, EF chargera la première ligne comme il se doit mais ne chargera pas la deuxième ligne car il considérera qu'elle est déjà chargée.