Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Incroyable doublon dans une requête Entity Framework

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.