ich Asp.Net MVC 5 mit Entity Framework bin mit 6. Ich habe eine Tabelle wie folgt bekommen:Artikel Verschieben der Elemente in einer Entity Framework Migration zur Liste
public class Recipe
{
[Required]
public virtual Food Food { get; set; }
//...rest
}
Jetzt will ich die bewegen Food
zu einer Liste von Lebensmitteln. Wie folgt aus:
public class Recipe
{
public virtual IList<Food> Foods { get; set; }
//... rest
}
Wenn ich dies versuchen und eine Migration hinzufügen, werde ich die Daten verlieren Food
Ids zusammen. Und wird nicht wissen, welches Rezept für welches Essen ist.
Ich versuchte, die Food
und fügen Sie die Liste wie folgt zu halten:
public class Recipe
{
[Required]
public virtual Food Food { get; set; }
public virtual IList<Food> Foods { get; set; }
//... rest
}
Aber die Migration fügt einen zweiten Fremdschlüssel und aktualisiert fehlschlägt. Hier ist die Migration Code, der fehlschlägt:
public override void Up()
{
DropForeignKey("dbo.Recipes", "Food_ID", "dbo.Foods");
DropIndex("dbo.Recipes", new[] { "Food_ID" });
AddColumn("dbo.Foods", "Recipe_Id", c => c.Int());
AddColumn("dbo.Foods", "Recipe_Id1", c => c.Int());
AlterColumn("dbo.Recipes", "Food_ID", c => c.Int());
CreateIndex("dbo.Foods", "Recipe_Id");
CreateIndex("dbo.Foods", "Recipe_Id1");
CreateIndex("dbo.Recipes", "Food_ID");
AddForeignKey("dbo.Foods", "Recipe_Id", "dbo.Recipes", "Id");
AddForeignKey("dbo.Foods", "Recipe_Id1", "dbo.Recipes", "Id");
AddForeignKey("dbo.Recipes", "Food_ID", "dbo.Foods", "ID");
}
Wie kann ich die einzelnen Food
auf eine Liste von Food
s bewegen, ohne die aktuellen Daten in der Tabelle zu verlieren?
Was war die ursprüngliche Beziehung zwischen 'Recipes' und' Foods'? Sieht so aus, als ob Sie versuchen, von einer Eins-zu-eins-Tabelle (wo der Fremdschlüssel in der Tabelle "Rezepte" ist) zu Eins-zu-Vielen zu wechseln (wo der Fremdschlüssel in der Tabelle "Lebensmittel" ist)? – jjj