详细信息模板中的Mvc自定义对象

时间:2018-06-23 09:38:46

标签: c# asp.net asp.net-mvc linq linq-to-entities

我将特殊模型(对象)发送到View。在View中显示时出现此错误。

  

错误:“对象”缺少“ AracTakip”格式

var model = (from aractakip in db.Guvenlik_AracTakip
             join sirket in db.Yonetim_Sirket on aractakip.SirketId equals sirket.Id
             join arac in db.Guvenlik_Arac on aractakip.AracId equals arac.Id
             join p in db.Guvenlik_AracTakipPersonel on aractakip.Id equals p.AracTakipId into personelListe
             join m in db.Guvenlik_AracTakipMisafir on aractakip.Id equals m.AracTakipId into misafirListe
             where (aractakip.CikisIslemTarihi > UcAyOncesi || aractakip.GirisIslemTarihi > UcAyOncesi) && aractakip.Durum == 1
             select new
             {
                  aractakip.Id,
                  Sirket = sirket.Ad,
                  Arac = arac.Ad + " - " + arac.Plaka + " (" + arac.Tur + " Aracı)",
                  AracTur = arac.Tur,

                  aractakip.GirisTarih,
                  GirisPersonelSoforId = aractakip.GirisTarih != null ? (personelListe
                      .Where(p => p.Tur == "Giriş" && p.Sofor == true).Count() == 1 ? personelListe.Where(p => p.Tur == "Giriş" && p.Sofor == true).FirstOrDefault().PersonelId.ToString() : "0") : "0",
                  GirisMisafirSoforId = aractakip.GirisTarih != null ? (misafirListe
                      .Where(m => m.Tur == "Giriş" && m.Sofor == true).Count() == 1 ? misafirListe.Where(m => m.Tur == "Giriş" && m.Sofor == true).FirstOrDefault().MisafirId : 0) : 0,
                  aractakip.CikisTarih,
                  CikisPersonelSoforId = aractakip.CikisTarih != null ? (personelListe
                      .Where(p => p.Tur == "Çıkış" && p.Sofor == true).Count() == 1 ? personelListe.Where(p => p.Tur == "Çıkış" && p.Sofor == true).FirstOrDefault().PersonelId.ToString() : "0") : "0",
                  CikisMisafirSoforId = aractakip.CikisTarih != null ? (misafirListe
                      .Where(m => m.Tur == "Çıkış" && m.Sofor == true).Count() == 1 ? misafirListe.Where(m => m.Tur == "Çıkış" && m.Sofor == true).FirstOrDefault().MisafirId : 0) : 0,
                  Mesafe = aractakip.TakipDurum == false ? 0 : aractakip.GirisAracKm > aractakip.CikisAracKm ? aractakip.GirisAracKm - aractakip.CikisAracKm : aractakip.CikisAracKm - aractakip.GirisAracKm,
                  Tarih = aractakip.GirisTarih == null ? aractakip.CikisTarih : aractakip.CikisTarih == null ? aractakip.GirisTarih : aractakip.GirisTarih > aractakip.CikisTarih ? aractakip.CikisTarih : aractakip.GirisTarih,
                  aractakip.TakipDurum
             }).OrderBy(x => x.TakipDurum).OrderByDescending(x => x.Tarih).ToList().AsEnumerable();

之后,我要添加其他数据库操作。

var model2 = model.Select(x => new
        {
            AracTakip = x,
            GirisSofor = x.GirisPersonelSoforId != "0" ? personModel.Where(cp => cp.PERSON_ID == x.GirisPersonelSoforId).FirstOrDefault().ad :
                    x.GirisMisafirSoforId != 0 ? "Misafir - " + db.Guvenlik_Misafir
                    .Where(m => m.Id == x.GirisMisafirSoforId).FirstOrDefault().Gorunen_Ad : "-",
            CikisSofor = x.CikisPersonelSoforId != "0" ? personModel.Where(cp => cp.PERSON_ID == x.CikisPersonelSoforId).FirstOrDefault().ad :
                    x.CikisMisafirSoforId != 0 ? "Misafir -" + db.Guvenlik_Misafir
                    .Where(m => m.Id == x.CikisMisafirSoforId).FirstOrDefault().Gorunen_Ad : "-",
        }).FirstOrDefault();
return View(model2);

详细信息视图:

<div class="row">
    <div class="col-sm-12 col-md-12">
        <div class="card mb-3">
            <div class="card-header">
                <i class="fas fa-sync"></i> @Model.AracTakip.TakipNo Numaralı Araç Takip Detayları
            </div>
        </div>
    </div>
</div>

存在嵌套数据。但是,没用过。而且上面有错误。

0 个答案:

没有答案