En iyi yanıtlayıcılar
ASP.Net MVC İnner Join

Soru
-
Merhaba,
İnner join ile bağladığım tablolarımı sayfada nasıl gösterebilirim?View kısmında foreachle dönüp basıyorum ama olmuyor.Controller kısmı aşağıdadır.
var query = (from personel in db.Personeller
join departman in db.Departmanlar
on personel.DepartmanId equals departman.Id
join gorev in db.Gorevler
on personel.GorevId equals gorev.Id
select new
{
personel.Adi,
personel.Soyadi,
personel.Sonuc,
Departman = departman.Adi,
Gorevi = gorev.Gorev,
BaslangıcTarihi = gorev.Baslangic,
BitisTarihi = gorev.Bitis
}).ToList();return View(query);
Yanıtlar
-
Merhaba,
İnner join ile bağladığım tablolarımı sayfada nasıl gösterebilirim?View kısmında foreachle dönüp basıyorum ama olmuyor.Controller kısmı aşağıdadır. var query = (from personel in db.Personeller
join departman in db.Departmanlar
on personel.DepartmanId equals departman.Id
join gorev in db.Gorevler
on personel.GorevId equals gorev.Id
select new
{
personel.Adi,
personel.Soyadi,
personel.Sonuc,
Departman = departman.Adi,
Gorevi = gorev.Gorev,
BaslangıcTarihi = gorev.Baslangic,
BitisTarihi = gorev.Bitis
}).ToList();return View(query);
public class MyDataModel { public string PersonelAdi {get;set;} public string PersonelSoyadi {get;set;} public string PersonelSonuc {get;set;} public string DepartmanAdi {get;set;} public string Gorevi {get;set;} public DateTime BaslangicTarihi {get;set;} public DateTime BitisTarihi {get;set;} } var query = (from personel in db.Personeller join departman in db.Departmanlar on personel.DepartmanId equals departman.Id join gorev in db.Gorevler on personel.GorevId equals gorev.Id select new MyDataModel { PersonelAdi = personel.Adi, PersonelSoyadi = personel.Soyadi, PersonelSonuc = personel.Sonuc, DepartmanAdi = departman.Adi, Gorevi = gorev.Gorev, BaslangicTarihi = gorev.Baslangic, BitisTarihi = gorev.Bitis }).ToList(); return View(query);
View tarafında da modelinizi IEnumerable<MyDataModel> şeklinde tanımlayıp foreach içinde kullanabilirsiniz.
- Yanıt Olarak İşaretleyen Serkan Canseven 8 Ağustos 2015 Cumartesi 13:36
Tüm Yanıtlar
-
Anonim tiplerden oluşan liste model olarak kullanılabiliyor mu bilmiyorum ama model olarak
@model List<T>
şeklinde bir dene istersen. Eğer bu şekilde çalışmazsa anonim tip olarak değil de belirttiğin alanları içeren bir sınıf oluştur ve model olarak bu sınıftan bir liste ver.
-
-
Yeni bir model oluşturdum ancak dönüş tipinde bir sorun var.Nesne boş geliyor galiba.
Model
public class newClass
{
public List <Personeller> personel { get; set; }
public List<Departmanlar> departman { get; set; }
}Controller
var query = (from personel in db.Personeller
join departman in db.Departmanlar
on personel.DepartmanId equals departman.Id
join gorev in db.Gorevler
on personel.GorevId equals gorev.Id
select new
{
personel.Adi,
personel.Soyadi,
personel.Sonuc,
Departman = departman.Adi,
Gorevi = gorev.Gorev,
BaslangıcTarihi = gorev.Baslangic,
BitisTarihi = gorev.Bitis
}).ToList();return View(query);
View
@model IEnumerable<RTP_Demo.Models.newClass>
@{
ViewBag.Title = "Index";
}
@foreach(Personeller per in Model.personel)
{
<p>@per.Adi</p>
}Hata
CS1061: 'System.Collections.Generic.IEnumerable<RTP_Demo.Models.newClass>' does not contain a definition for 'personel' and no extension method 'personel' accepting a first argument of type 'System.Collections.Generic.IEnumerable<RTP_Demo.Models.newClass>' could be found (are you missing a using directive or an assembly reference?)
-
-
-
-
Merhaba,
İnner join ile bağladığım tablolarımı sayfada nasıl gösterebilirim?View kısmında foreachle dönüp basıyorum ama olmuyor.Controller kısmı aşağıdadır. var query = (from personel in db.Personeller
join departman in db.Departmanlar
on personel.DepartmanId equals departman.Id
join gorev in db.Gorevler
on personel.GorevId equals gorev.Id
select new
{
personel.Adi,
personel.Soyadi,
personel.Sonuc,
Departman = departman.Adi,
Gorevi = gorev.Gorev,
BaslangıcTarihi = gorev.Baslangic,
BitisTarihi = gorev.Bitis
}).ToList();return View(query);
public class MyDataModel { public string PersonelAdi {get;set;} public string PersonelSoyadi {get;set;} public string PersonelSonuc {get;set;} public string DepartmanAdi {get;set;} public string Gorevi {get;set;} public DateTime BaslangicTarihi {get;set;} public DateTime BitisTarihi {get;set;} } var query = (from personel in db.Personeller join departman in db.Departmanlar on personel.DepartmanId equals departman.Id join gorev in db.Gorevler on personel.GorevId equals gorev.Id select new MyDataModel { PersonelAdi = personel.Adi, PersonelSoyadi = personel.Soyadi, PersonelSonuc = personel.Sonuc, DepartmanAdi = departman.Adi, Gorevi = gorev.Gorev, BaslangicTarihi = gorev.Baslangic, BitisTarihi = gorev.Bitis }).ToList(); return View(query);
View tarafında da modelinizi IEnumerable<MyDataModel> şeklinde tanımlayıp foreach içinde kullanabilirsiniz.
- Yanıt Olarak İşaretleyen Serkan Canseven 8 Ağustos 2015 Cumartesi 13:36