2016-06-01 7 views
0

ich die folgende Struktur haben:Entity Framework Code zuerst - abgeleitete Klasse nicht in der gleichen Anordnung wie der Basisklasse

  • Basisentitäten (enthält abstrakte MyBaseClass)
  • Schnittstellen
  • Konkrete Implementation (enthält MyClass : MyBaseClass)
  • EF Projekt (Referenzen) alle oben genannten Projekte

Wenn ich zu ena versuchen ble Migrationen auf dem EF-Projekt (um Datenbank-Skript zu generieren), erhalte ich folgendes:

Die abstrakte Art MyBaseClass hat Nachkommen keine abgebildet und können so nicht abgebildet werden. Entfernen Sie entweder MyBaseClass aus dem Modell oder fügen Sie ein oder mehr Typen von MyBaseClass das Modell ableiten

Was kann ich tun, um EF in seine Referenzen aussieht meine abgeleiteten Klasse zu finden? Keine flüssige API.

Basisentitäten Montage:

abstract class MyBaseClass 

konkrete Umsetzung Montage:

class MyClass : MyBaseClass 

Schnittstellen Montage:

IDbSet<MyBaseClass> WhateverName 

Wenn ich laufen Enable-Migrations -ConnectionStringName "EfDataRepository" EF beklagt, dass es nicht abgeleiteten Klassen finden von MyBaseClass.

+0

Können Sie ein minimales, komplettes und überprüfbares Beispiel angeben ([siehe] (http://stackoverflow.com/help/mcve)) –

+0

Aktualisierte Frage –

+0

Kleine Frage, sind diese auf "public" gesetzt. Könnten Sie bitte mehr Kontext für den obigen Code bereitstellen? und 'IDbSet' könnte besser sein als' DbSet' –

Antwort

0

Siehe die Antwort auf diese question. Das besagt, dass Sie einen konkreten Typ zum Speichern in der Datenbank benötigen. Es gibt auch ein Beispiel für die Art von Code-Kontext, auf den ich mich bezog.

Verwandte Themen