43 votes

Entity Framework Nom du type en double dans un assemblage (6.1.0)

Je ne suis pas sûr de ce qui se passe, mais je reçois l'exception suivante lors d'une requête. "Doublons de nom de type à l'intérieur d'une assemblée." Je n'ai pas été capable de trouver une solution sur le web. J'avais résolu le problème en supprimant l'entité cadre de tous les projets dans les solutions et ré-installation à l'aide d'une pépite. Puis tout d'un coup, l'exception est de retour. J'ai vérifié mon schéma de table de plus de et plus et ne trouve rien de mal avec.

C'est la requête causant l'exception.

    var BaseQuery = from Users in db.Users
            join UserInstalls in db.UserTenantInstalls on Users.ID equals UserInstalls.UserID
            join Installs in db.TenantInstalls on UserInstalls.TenantInstallID equals Installs.ID
            where
                Users.Username == Username
                && Users.Password == Password
                && Installs.Name == Install
            select Users;

    var Query = BaseQuery.Include("UserTenantInstalls.TenantInstall");

    return Query.FirstOrDefault();

Comme je l'ai déjà mentionné, la même requête travaillait avant. Les données n'ont pas changé et que le code n'a pas changé.

64voto

Chad Lehman Points 368

Pour contourner le problème, cela ne se produit que si vous utilisez le débogueur en une seule étape. Si vous placez votre point d'arrêt quelques lignes plus loin dans votre source, l'erreur n'apparaîtra pas.

Je n'ai pas désinstallé, et cela me permet au moins de continuer à travailler.

19voto

yohohoho Points 196

Il s’agit d’un nouveau problème avec EF 6.1.0 et l’équipe EF est consciente du problème:

https://entityframework.codeplex.com/workitem/2228

12voto

Sandy Points 2475

Fait face au même dans mon WCF webservice récemment. Il suffit de nettoyer votre solution et de la reconstruire. Cela devrait résoudre le problème.

J'espère que ça aide.

4voto

Steady Points 11

Aucune de ce qui précède semble fonctionner pour moi cependant, dans le lien indiqué plus haut je n'ai fin de ce, qui a travaillé pour moi. Elle a été soumise par 'bunomonteiro'

Pour Corriger les "Doublons de nom de type à l'intérieur d'une assemblée"

J'ai eu le même problème. J'ai vérifié tous mes modèles/classes et je n'ai pas utilisé la duplication de noms pour les types. J'ai supprimé les assemblées et regénérées à la le modèle et le contexte de l'objet à partir de la base de données et avaient toujours le même problème.

Une trace donné dans Visual Studio "les Enfants ne pouvait pas être évalué". La SOLUTION consiste à ajouter .ToList(); ou ToArray(); ou ToDictionary (), etc, à votre requête. etc.

par exemple. var query = contexte.TableName.Où(x => x.nom =="CodeRealm").ToList();

PingBack - http://entityframework.codeplex.com/workitem/1898

bunomonteiro a écrit 18 Juil à 3:37 AM

0voto

user3202925 Points 1

Avait le même problème qui a pris des heures hier pour se débarrasser. Avec EF 6.1.0, erreur lors de l’exécution de linq avec une requête d’entités similaire à celle décrite ci-dessus. Ma solution consistait à arrêter IIS Express, une solution propre, à désinstaller EF de tous les projets de la solution, à fermer VS2012, à supprimer tous les packages / dossiers de la solution, à redémarrer VS2012, à ajouter EF 6.1.0 si nécessaire, à compiler, à disparaître de l'erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X