Я пытался отобразить записи и связанные с ними записи с помощью @foreach (), но каждый раз я получаю сообщение об ошибке «оператор foreach не может работать с переменными типа ..». Решение VS основано на модели Code First, и эта операция выполняется только для одного класса. Любая помощь и руководство по этому вопросу будут полезны:
Модель:
public class SingleView //USSD
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public string Client { get; set; }
public string PolicyNo { get; set; }
public Nullable<short> PolicyType { get; set; }
public string InsurerName { get; set; }
public Nullable<System.DateTime> RenewalDate { get; set; }
public string Status { get; set; }
public string Telephone { get; set; }
}
Контроллер
public ActionResult Details(Int id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
SingleView singleView = db.SingleViews.Find(id);
if (singleView == null)
{
return HttpNotFound();
}
return View(singleView);
}
Вид:
@model MinetSingleView.Models.SingleView
@{
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(model => model.Client)</td>
<td> @Html.DisplayFor(model => model.InsurerName)</td>
<td>Product Type</td>
<td>@Html.DisplayFor(model => model.PolicyType)</td>
<td>@Html.DisplayFor(model => model.RenewalDate)</td>
<td>@Html.DisplayFor(model => model.PolicyNo)</td>
<td>@Html.DisplayFor(model => model.Telephone)</td>
<td>@Html.DisplayFor(model => model.Status)</td>
</tr>
}
}
В разделе «Детали» используется автоинкремент «ID» в качестве параметра id, например localhost: 65129 / Home / Details / 16