Итак, я хочу отобразить в представлении все ингредиенты, которые есть в рецепте.Я создал с помощью EF таблицу ингредиентов и таблицу рецептов.Отношения многие ко многим.Я не могу понять, как показать в одном виде ингредиенты рецепта.
Я пытался изменить модели так, чтобы я мог показать ингредиенты, но я смог увидеть только один ингредиент.
Это мой класс Ингредиентов:
namespace Licenta.Models
{
public class Ingredient
{
[Key]
public int IDIngredient { get; set; }
public string Nume { get; set; }
public int Kcal { get; set; }
public int Pro { get; set; }
public int Carbo { get; set; }
public int Fat { get; set; }
public IList<Recipe> Recipes { get; set; }
}
}
Это мой класс Рецептов:
namespace Licenta.Models
{
public class Recipe
{
[Key]
public int IDRecipe { get; set; }
public string Name { get; set; }
public string Desc { get; set; }
public string Steps { get; set; }
public int Kcal { get; set; }
public int Pro { get; set; }
public int Carbo { get; set; }
public int Fat { get; set; }
public IList<Ingredient> Ingredients { get; set; }
}
}
А это мой Вид:
@model Licenta.Models.Recipe
@{
ViewBag.Title = "Details";
}
<h2>Recipe Details</h2>
<div>
<h4>Recipe</h4>
<hr />
<dl class="dl-horizontal">
<dt>
Name:
</dt>
<dd>
@Html.DisplayFor(model => model.Name)
</dd>
<dt>
Calories:
</dt>
<dd>
@Html.DisplayFor(model => model.Kcal) calorii
</dd>
<dt>
Proteins:
</dt>
<dd>
@Html.DisplayFor(model => model.Pro) grame
</dd>
<dt>
Carbs:
</dt>
<dd>
@Html.DisplayFor(model => model.Carbo) grame
</dd>
<dt>
Fat:
</dt>
<dd>
@Html.DisplayFor(model => model.Fat) grame
</dd>
<dt>
Description:
</dt>
<dd>
@Html.DisplayFor(model => model.Desc)
</dd>
<dt>
Steps:
</dt>
<dd>
@Html.DisplayFor(model => model.Steps)
</dd>
<dt>
Ingredients:
</dt>
<dd>
@Html.DisplayFor(model => model.Ingredients)
</dd>
</dl>
</div>
Контроллервот что я использую:
namespace Licenta.Controllers
{
public class HomeController : Controller
{
private DataContext db = new DataContext();
public ActionResult Index()
{
return View();
}
public ActionResult Recipes()
{
return View(db.Recipes.ToList());
}
public ActionResult Details(int? id)
{
if(id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Recipe recipe = db.Recipes.Find(id);
if(recipe == null)
{
return HttpNotFound();
}
return View(recipe);
}
}
}
Я также видел, что EF создал таблицу RecipesIngredients в моей базе данных.Как мне использовать эту таблицу для составления списка ингредиентов моего рецепта?