Я пытался отобразить данные из четырех таблиц. У меня есть IEnumerable<>
на мой взгляд, и я также создал класс SingleModel
, который содержит все три класса вместе. Цель этого состоит в том, чтобы отображать записи в соответствии с Telephone
, который действует как параметр. Но я продолжаю получать сообщение об ошибке
Ссылка на объект не установлена на экземпляр объекта "
в этой строке кода
join ct in x3 on st.ID equals ct.ID into table2
onконтроллер
Контроллер:
public ActionResult Details(string id)
{
if (id == null)
{
return new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest);
}
List<SingleView> x1 = db.SingleViews.Where(a => a.Telephone == id).ToList();
List<SingleViewM> x2 = db.SingleViewMs.Where(a => a.Telephone == id).ToList();
List<SingleViewWst> x3 = db.SingleViewWsts.Where(a => a.Telephone == id).ToList();
List<PensionsView> x4 = db.PensionsViews.Where(a => a.Telephone == id).ToList();
var multipletables = from c in x1
join st in x2 on c.ID equals st.ID into table1
from st in table1.DefaultIfEmpty()
join ct in x3 on st.ID equals ct.ID into table2
from ct in table2.DefaultIfEmpty()
select new SingleModel { USSD = c, Mombasa = st, Western = ct };
return View(multipletables);
}
Модель:
public class SingleModel
{
public SingleView USSD { get; set; }
public SingleViewM Mombasa { get; set; }
public SingleViewWst Western { get; set; }
public PensionsView PensionsViews{ get; set; }
}
Вид:
@model IEnumerable<MinetSingleView.Models.SingleModel>
@foreach (var item in Model)
{
<tr>
<td>@item.USSD.InsurerName</td>
<td>@item.USSD.PolicyType</td>
<td>@item.USSD.RenewalDate</td>
<td>@item.USSD.PolicyNo</td>
<td>@item.USSD.Telephone</td>
<td>@item.USSD.Status</td>
</tr>
}
</table>
<table class="table table-striped">
<tr>
<th>Insurance</th>
<th>Policy Type</th>
<th>Renewal Date</th>
<th>Policy Number</th>
<th>Telephone</th>
<th>Status</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.Mombasa.InsurerName</td>
<td>@item.Mombasa.PolicyType</td>
<td>@item.Mombasa.RenewalDate</td>
<td>@item.Mombasa.PolicyNo</td>
<td>@item.Mombasa.Telephone</td>
<td>@item.Mombasa.Status</td>
</tr>
}