2010-12-19 2 views
5

J'ai deux projets dans une solution VS 2010: Data et DataForm. Dans mon projet de données, j'ai à la fois une première version du code et une première version du même modèle de données (par exemple DataPoco et DataDb). Ces classes ont les mêmes noms d'entités exactes en eux, etc ... Ces deux versions sont chacune dans leur propre espace de noms: DataDb est dans Data et DataPoco est dans Data.Poco.Entité Framework Code Premier et base de données Premier bogue/conflit

Dans mon projet DataForm J'ai le code suivant:

DataPoco context = new DataPoco(); //Data.Poco.DataPoco 
foreach(var u in context.Urls)  //Data.Poco.Url 
{ 
    //do stuff with u. 
} 

Je reçois l'erreur suivante lorsque context.Urls est dénombrées (et chargé en raison de chargement paresseux):

Impossible de trouver le type de modèle conceptuel pour 'Data.Url'.

Pourquoi ai-je une erreur sur une entité dans la autre version (par exemple comment puis-je obtenir une erreur au sujet Data.Url quand je suis Data.Poco.Url énumérer)? Y a-t-il quelque chose à propos du code qui fait qu'il récupère les premières classes d'entités de la base de données dans un autre espace de noms mais dans le même projet? Est-ce un bug dans Code First ou de ma faute?

Répondre

3

Entity Framework n'utilise pas l'espace de nom dans le cadre du nom - les noms d'entité eux-mêmes doivent être uniques.

+0

Wow - esprit soufflé! Eh bien, après votre réponse, j'ai cherché un peu plus car j'ai eu une meilleure idée de ce qu'il faut chercher et trouvé cet autre Q/R - http://stackoverflow.com/questions/3521497/how-does-ms-entity-framework-map -de-le-conceptuel-modèle-à-clr-types. Merci de votre aide! – Chad

Questions connexes