Ho avuto un problema simile e l'ho risolto modificando l'opzione di unione di ObjectSet.Example:
using (TargetDBDataContext db = new TargetDBDataContext())
{
db.SomeView.MergeOption = System.Data.Objects.MergeOption.NoTracking;
return db. SomeView.ToList();
}
Sembra che il framework di entità (EF) non gestisca correttamente le viste che hanno chiavi primarie duplicate o nessuna chiave primaria. Quindi, quando ci sono due righe che EF considera uguali, EF caricherà la prima riga come dovrebbe ma non caricherà la seconda perché considererà che è già caricata.