Ich bin neu, ASP.net und MVC zu verwenden und etwas Hilfe zu benötigen. Ich arbeite zurzeit an einem Projekt, das ein on-line-Rezeptbuch ist, und ich habe verschiedene Tabellen aber die zwei Tabellen, die ich in eine Ansicht kombinieren möchte Rezept und RecipeIngredients, wie unten dargestellt:asp.net: Wie kombiniere ich zwei Modelle miteinander, um ein Parent und alle untergeordneten Entitäten zu erstellen?
Recipe.cs
namespace TheOnlineFoodBook.Models
{
public class Recipe
{
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int RecipeID { get; set; }
[Display(Name = "Recipe")]
public string RecipeName { get; set; }
[Display(Name= "Cuisine")]
public int CuisineID { get; set; }
public string Directions { get; set; }
[Display(Name = "Preperation Time:")]
public double PreperationTime { get; set; }
[Display(Name = "Cooking Time:")]
public double CookingTime { get; set; }
public virtual List<RecipeIngredient> RecipeIngredients { get; set; }
[ForeignKey("CuisineID")]
public virtual Cuisine Cuisine { get; set; }
}
}
RecipeIngredient.cs
public class RecipeIngredient
{
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public int RecipeID { get; set; }
public int IngredientID { get; set; }
public double Quantity { get; set; }
public int MeasurementID { get; set; }
public string Notes { get; set; }
public virtual Recipe Recipe { get; set; }
public virtual Measurement Measurement { get; set; }
public virtual Ingredient Ingredient { get; set; }
}
}
Ich habe ein wenig über das Kombinieren von Modellen gelesen, um ein viewModel zu erstellen, aber ich bin mir nicht sicher, wie ich das machen würde, und ich möchte auch mehrere RecipeIngredients-Einträge gleichzeitig hinzufügen können, wenn ich ein Rezept erstelle. Zur Zeit habe ich die grundlegenden CRUD-Ansichten, die funktionieren, welches Entitätsframework für mich erstellt wurde.
hat Ich habe ein Ansichtsmodell wie das erstellt ich bin nur nicht sicher wo ich hingehen soll Dort. –
Sie können Ihr ViewModel wie jede andere Klasse laden und dieses Modell dann an Ihre Ansicht übergeben. 'return View (model);' In Ihrer Ansicht können Sie auf jede Eigenschaft wie jede andere Klasse zugreifen. 'Model.Recipe.RecipeName' und' Model.RecipeIngredientsList [i] .Notes' – DunningKrugerEffect