2017-05-23 3 views
0

Ich habe die Klasse PERTActivity_T, die von MetadataTyper Klasse erbt, so wie andere Tabellen.Entity Framework 6 Hinzufügen von zusätzlichen geerbten Spalte

Im Gegensatz zu seinen Geschwistern hat PERTActivity_T bereits die Eigenschaften:

[ForeignKey("BSContext")] 
public int? BSContextId { get; set; } 
public BSContext BSContext { get; set; } 

Aber jetzt brauche ich alle Tabellen, die von MetadataTyper erben auch diese Eigenschaften haben. Also habe ich sie aus PERTActivity_T entfernt und in MetadataTyper aufgenommen, aber wenn ich eine Migration erzeuge, entfernt sie die Beziehung von BSContextId zu BSContext und fügt ein zusätzliches Feld namens BSContext_Id (mit einem Unterstrich) hinzu und fügt den Fremdschlüssel hinzu.

Dies geschieht nur für PERTActivity_T die anderen Tabellen, die von MetadataTyper erben migrieren.

Zuerst habe ich versucht, manuell die Migration bearbeiten alle Änderungen an PERTActivity_T zu entfernen, da es bereits die Art und Weise geschaffen, die ich es brauche, es genäht alle gut zu funktionieren, aber wenn ich einen Mapper PERTActivity_T oder eine Tabelle mit Bezug zu bearbeiten es EF löst einen Fehler aus, BSContext_Id ist unbekannt.

Wie kann ich EF verständlich machen, dass PERTActivity_T keine zusätzlichen Änderungen benötigt?

Antwort

0

Stellt sich heraus, dass mein Problem war, dass BSContext bereits eine Navigationseigenschaft zu PERTActivity_T enthielt und dann habe ich es dupliziert.

Alles, was ich tun musste, war die doppelte Navigationseigenschaft zu entfernen und die Migration ordnungsgemäß zu generieren.

Verwandte Themen