En iyi yanıtlayıcılar
ID 0 olunca default veri gelmesi

Soru
-
Merhaba arkadaşlar bir projede Başlık ve Buna bağlı yorum tablom var. Amacım sayfa ilk açıldığında Başlık ID'si 0 olsa dair mesela Yorum gelmesini istiyorum.
Aşağıdaki gibi deniyorum fakat foreach içine girmiyorum. Bu nasıl mümkün olabilir.
private void GetYorum(int id) { DataTable dt = new DataTable(); dt.Columns.Add("Yorum"); dt.Columns.Add("Tarih"); dt.Columns.Add("Begen"); dt.Columns.Add("Begenme"); dt.Columns.Add("UserID"); dt.Columns.Add("BaslikID"); using (TeknikTraktorEntities tr = new TeknikTraktorEntities()) { var yorum = (from v in tr.Yorumlar where v.BaslikID == id select v).ToList(); int i = 0; foreach (var k in yorum) { dt.Rows.Add(); dt.Rows[i]["Yorum"] = k.Yorum; dt.Rows[i]["Tarih"] = k.Tarih; dt.Rows[i]["Begen"] = k.Begen; dt.Rows[i]["Begenme"] = k.Begenme; dt.Rows[i]["UserID"] = k.Userslar.Ad + " " + k.Userslar.Soyad; if (i == 0) { dt.Rows[i]["Yorum"] = k.Yorum; dt.Rows[i]["Tarih"] = k.Tarih; dt.Rows[i]["Begen"] = k.Begen; dt.Rows[i]["Begenme"] = k.Begenme; dt.Rows[i]["UserID"] = k.Userslar.Ad + " " + k.Userslar.Soyad; rptyorumlar.DataSource = dt; rptyorumlar.DataBind(); } i++; } rptyorumlar.DataSource = dt; rptyorumlar.DataBind(); } }
Yanıtlar
-
o zaman Where için
int baslikId = id == 0 ? tr.Basliklar.Last().Id : id; var yorum = (from v in tr.Yorumlar where v.BaslikID = baslikId select v).ToList();
gibi bir şey olabilir
Not : İstersen Last yerine First de kullanabilirsin.
Herkes mevcut projesi bitince daha iyi ve güvenli kod yazmaya başlayacakmış. Hazır olun Türkiye'de yazılım çağ atlamak üzere
- Düzenleyen Olcay GUZEL 19 Ocak 2016 Salı 10:11
- Yanıt Olarak İşaretleyen ali yılmaz 19 Ocak 2016 Salı 10:33
-
where kullanma ToList yerine Take kullan sanırım istediğin gibi bir şey olur.
Yani
var yorum = (from v in tr.Yorumlar select v).Take(5);
gibi. 5 yerine kaç yorum almak istiyorsan onu yazabilirsin.
Herkes mevcut projesi bitince daha iyi ve güvenli kod yazmaya başlayacakmış. Hazır olun Türkiye'de yazılım çağ atlamak üzere
- Yanıt Olarak İşaretleyen Serkan Canseven 19 Ocak 2016 Salı 07:13
Tüm Yanıtlar
-
where kullanma ToList yerine Take kullan sanırım istediğin gibi bir şey olur.
Yani
var yorum = (from v in tr.Yorumlar select v).Take(5);
gibi. 5 yerine kaç yorum almak istiyorsan onu yazabilirsin.
Herkes mevcut projesi bitince daha iyi ve güvenli kod yazmaya başlayacakmış. Hazır olun Türkiye'de yazılım çağ atlamak üzere
- Yanıt Olarak İşaretleyen Serkan Canseven 19 Ocak 2016 Salı 07:13
-
-
o zaman Where için
int baslikId = id == 0 ? tr.Basliklar.Last().Id : id; var yorum = (from v in tr.Yorumlar where v.BaslikID = baslikId select v).ToList();
gibi bir şey olabilir
Not : İstersen Last yerine First de kullanabilirsin.
Herkes mevcut projesi bitince daha iyi ve güvenli kod yazmaya başlayacakmış. Hazır olun Türkiye'de yazılım çağ atlamak üzere
- Düzenleyen Olcay GUZEL 19 Ocak 2016 Salı 10:11
- Yanıt Olarak İşaretleyen ali yılmaz 19 Ocak 2016 Salı 10:33
-