2010-12-19 19 views
5

Ich habe zwei Projekte in einer VS 2010 Lösung: Data und DataForm. In meinem Datenprojekt habe ich sowohl einen Code als auch die erste Datenbankversion desselben Datenmodells (z. B. DataPoco und DataDb). Diese Klassen haben die gleichen genauen Entitätsnamen in ihnen usw. Diese beiden Versionen haben jeweils ihren eigenen Namensraum: DataDb ist in Data und DataPoco in Data.Poco.Entity Framework Code First und Datenbank First Bug/Conflict

In meinem Dataform-Projekt habe ich den folgenden Code:

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

ich folgende Fehlermeldung erhalten, wenn context.Urls aufgezählt wird (und geladen aufgrund faul-Laden):

konnte nicht finden die konzeptioneller Modelltyp für 'Data.Url'.

Warum erhalte ich eine Fehlermeldung über eine Einheit in der ANDEREN Version (z wie kann ich eine Fehlermeldung über Data.Url, wenn ich Data.Poco.Url bin Aufzählen)? Gibt es etwas an Code, das dazu führt, dass es die ersten Entitätsklassen der Datenbank in einem anderen Namensraum, aber im selben Projekt aufnimmt? Ist das ein Bug in Code First oder mein Fehler?

Antwort

3

Entity Framework verwendet den Namespace nicht als Teil des Namens - Entitätsnamen selbst müssen eindeutig sein.

+0

Wow - Kopf angeblasen! Nun, nach Ihrer Antwort habe ich etwas mehr gesucht, da ich eine bessere Idee hatte, nach was ich suchen und diese andere Q/A finden sollte - http://stackoverflow.com/questions/3521497/how-does-ms-entity-framework-map -von-dem-konzeptionellen-Modell-zu-Clr-Typen. Danke für Ihre Hilfe! – Chad

Verwandte Themen