Entity Framework 4.2 "Der Typ wird nicht mit EdmEntityTypeAttribute zugeordnet, sondern ist in einer Assembly enthalten, die EdmSchemaAttribute zugeordnet ist

8

Ich erhalte den folgenden Fehler:

  

System.InvalidOperationException wurde nicht behandelt Nachricht = Der Typ   'Judge' wird nicht mit EdmEntityTypeAttribute zugewiesen, ist aber enthalten   in einer Assembly, die mit EdmSchemaAttribute zugewiesen wurde. POCO-Einheiten, die   Verwenden Sie nicht EdmEntityTypeAttribute kann nicht in demselben enthalten sein   Assembly als Nicht-POCO-Entitäten, die EdmEntityTypeAttribute verwenden.
  Quelle = EntityFramework StackTrace:          bei System.Data.Entity.Internal.InternalContext.UpdateEntitySetMappingsForType (Typ   Entitätstyp)          bei System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType (Typ   entityType) ....

%Vor%

Der seltsame Teil ist, dass Judge dem EdmEntityTypeAttribute zugeordnet wird, weil es automatisch als Teil des DbContext T-4 Jazz erzeugt wird.

%Vor%

An einer Stelle hatte ich eine andere Klasse Richter in einer anderen Versammlung, aber ich habe sie seitdem umbenannt. Ich habe versucht, beide Projekte zu säubern. Es sollte keine andere Richterklasse neben der EF geben.

Also kann ich nicht herausfinden, woher diese andere Richterklasse kommt?

Danke

    
bulltorious 13.12.2011, 16:33
quelle

2 Antworten

15

Ich habe es herausgefunden.

Als ich das Programm zum ersten Mal gestartet habe, habe ich einen ObjectContext mit der .edmx verwendet.

Dann habe ich über EF 4.2 gelesen und entschieden, DbContext zu verwenden.

Das Problem war, dass meine .edmx-Datei Klassen erzeugte, genauso wie die DbContext T-4s.

Die Lösung bestand darin, die Code-Generierung in der .edmx zu deaktivieren.

Jetzt erzeugen nur die DbContext T-4s meine POCO-Klassen.

Hoffen Sie, dass diese Fragen jemand anderen in der Zukunft helfen!

    
bulltorious 13.12.2011, 17:25
quelle
0

Ich hatte ein ähnliches Problem - es scheint in einigen Fällen (zum Beispiel bei der Verwendung von WCF Data Services 5.2.0) ein Problem zu sein, Code-First / DbContext-Klassen in derselben Baugruppe wie EDMX / Model-First zu haben / generierte Klassen. Für mich hat das Verschieben der DbContext-Klassen in eine separate Assembly das Problem behoben.

Beachten Sie, dass ich beim ersten Zugriff auf die Datenbank in der gleichen Assembly kein Problem mit Code-First + Model-First hatte. Aber sobald ich einen anderen Layer (WCF Data Services) hinzugefügt habe, stieß ich auf den EdmSchemaAttribute-Fehler.

    
crimbo 17.02.2013 08:05
quelle