Ich habe die folgenden Klassen:Zwei Tabellen, die Schlüssel zueinander auf Entity Framework haben
public class Condition
{
public int Id {get;set; }
public Condition ParentCondition {get;set;}
public Action ParentAction {get;set;}
public string Whatever {get;set;}
}
public class Action
{
public int Id {get;set; }
public Condition ParentCondition {get;set;}
public Action ParentAction {get;set;}
public string Whatever {get;set;}
}
So beide, den Zustand und die Aktion kann entweder eine Bedingung oder eine Aktion als Elternteil (oder keine, wenn beide sind null)
Ich habe versucht, dies auf eine SQL-Datenbank zu setzen, aber irgendwie verloren. Also etwas, was ich wollen würde wäre erreichen so etwas wie (Pseudo-Code)
TABLE Condition
:
int ConditionParent
int ActionParent
Tabelle Action
:
int ConditionParent
int ActoinParent
ich versucht, mit fließend api:
modelBuilder.Entity<Condition>()
.ToTable("Condition")
.HasOptional(c => c.ParentAction)
.WithRequired(a => a.ParentCondition);
Aber wenn ich das mache, die Action
Tabelle sieht gut aus, aber der Migrationscode für die Bedingung hat überhaupt keine Spalte für ein Aktionselement.
Was muss geändert werden?
meine Wette ist die Verwendung von 'Entity Framework Energie Tools' statt Erforschung für Lösungen zu machen; Erstellen Sie Tabellen und klicken Sie auf die Optionen in Ihrem Visual Studio, sollten Sie wissen, was Sie schreiben sollten :) https://msdn.microsoft.com/en-us/data/jj593170.aspx – techspider
Das scheint ein bisschen wie die Übergabe. Ich möchte keine Datenbank erstellen, um Code zu erstellen, um anschließend eine Datenbank zu erstellen. –
ja, ich stimme zu, aber es gibt bestimmte Szenarien, die Ihre Zeit von der Erforschung des Codes speichert, was geschrieben werden muss :) – techspider