ASP.net EntityFrame...
 
Bildirimler
Hepsini Temizle

[Çözüldü] ASP.net EntityFrameWork tablo join sorunu  

  RSS
sercan
(@sercannn)
Üye

Merhaba,

 

Asp.net de Entity Framework yapısını kullanarak repeater içerisinde #Eval tag'i ile veri listelemeye çalışıyorum.

Ancak .cs tarafında oluşturduğum sorgu yapısında datasource boş dönüyor. Join yapmadan sorgu yaptığımda istediğim veriyi listeleyebiliyorum ancak join yaptığımda istediğim sonucu alamıyorum.

Örnek olarak kod bloğumu paylaşıyorum;

            SiteDB db = new SiteDB();
            TBL_MAKALE makale = new TBL_MAKALE();
            TBL_BASLIK baslik = new TBL_BASLIK();
            // var Listele = db.TBL_MAKALE.OrderBy(s => s.Makale_Icerik).ToList();
            var Listele = (from s in db.TBL_MAKALE
                           join f in db.TBL_BASLIK on s.ID equals f.Makale_ID
                           select new
                           {
                               makale.Makale_Icerik,
                               baslik.MakaleBaslik,
                               makale.Makale_Durum
                           }).ToList();
            myRepeater10.DataSource = Listele;
            myRepeater10.DataBind();

repeater içerisinde yer alan #Eval tag örneğim;

     <a>
                      <%#Eval("MakaleBaslik")%>
                          </a>   
                          <br/>
                      </td>
                      <td class="project_progress">
                          <small>
                              <%#Eval("Makale_Icerik")%>
                          </small>
                              </div>
                          </div  
                      </td>
                      <td class="project-state" style="width: 302px
                          <span class="badge badge-success"><%#Eval("Makale_Durum")%></span
                      </td>

DB tarafında makale tablosu içinde yer alan ID alanı Baslık tablosunda ki Makale_ID alanına bağlanmış durumda.

Insert ederken makale tablosunda ki ID değerini baslık tablosunda ki Makale_ID alanına gönderebiliyorum. Insert etme noktasında sorun yok.

Yardımcı Olabilirseniz sevinirim. Herkese İyi Çalışmalar.

Alıntı
Gönderildi : 31/08/2020 11:36
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi
Gönderen: @sercannn

Merhaba,

 

Asp.net de Entity Framework yapısını kullanarak repeater içerisinde #Eval tag'i ile veri listelemeye çalışıyorum.

Ancak .cs tarafında oluşturduğum sorgu yapısında datasource boş dönüyor. Join yapmadan sorgu yaptığımda istediğim veriyi listeleyebiliyorum ancak join yaptığımda istediğim sonucu alamıyorum.

Örnek olarak kod bloğumu paylaşıyorum;

            SiteDB db = new SiteDB();
            TBL_MAKALE makale = new TBL_MAKALE();
            TBL_BASLIK baslik = new TBL_BASLIK();
            // var Listele = db.TBL_MAKALE.OrderBy(s => s.Makale_Icerik).ToList();
            var Listele = (from s in db.TBL_MAKALE
                           join f in db.TBL_BASLIK on s.ID equals f.Makale_ID
                           select new
                           {
                               makale.Makale_Icerik,
                               baslik.MakaleBaslik,
                               makale.Makale_Durum
                           }).ToList();
            myRepeater10.DataSource = Listele;
            myRepeater10.DataBind();

repeater içerisinde yer alan #Eval tag örneğim;

     <a>
                      <%#Eval("MakaleBaslik")%>
                          </a>   
                          <br/>
                      </td>
                      <td class="project_progress">
                          <small>
                              <%#Eval("Makale_Icerik")%>
                          </small>
                              </div>
                          </div  
                      </td>
                      <td class="project-state" style="width: 302px
                          <span class="badge badge-success"><%#Eval("Makale_Durum")%></span
                      </td>

DB tarafında makale tablosu içinde yer alan ID alanı Baslık tablosunda ki Makale_ID alanına bağlanmış durumda.

Insert ederken makale tablosunda ki ID değerini baslık tablosunda ki Makale_ID alanına gönderebiliyorum. Insert etme noktasında sorun yok.

Yardımcı Olabilirseniz sevinirim. Herkese İyi Çalışmalar.

 

 

merhaba 

 

 select new
                           {
                               makale.Makale_Icerik,
                               baslik.MakaleBaslik,
                               makale.Makale_Durum
                           }) 

 

kısmında 

....
 select new List<ABC>
                           {
                              a = makale.Makale_Icerik,
                              b =  baslik.MakaleBaslik,
                              c =  makale.Makale_Durum
                           })
....

şeklinde class ile doner mısınız ? 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

CevapAlıntı
Gönderildi : 04/10/2020 21:36
sercan
(@sercannn)
Üye
Gönderen: @eravse
Gönderen: @sercannn

Merhaba,

 

Asp.net de Entity Framework yapısını kullanarak repeater içerisinde #Eval tag'i ile veri listelemeye çalışıyorum.

Ancak .cs tarafında oluşturduğum sorgu yapısında datasource boş dönüyor. Join yapmadan sorgu yaptığımda istediğim veriyi listeleyebiliyorum ancak join yaptığımda istediğim sonucu alamıyorum.

Örnek olarak kod bloğumu paylaşıyorum;

            SiteDB db = new SiteDB();
            TBL_MAKALE makale = new TBL_MAKALE();
            TBL_BASLIK baslik = new TBL_BASLIK();
            // var Listele = db.TBL_MAKALE.OrderBy(s => s.Makale_Icerik).ToList();
            var Listele = (from s in db.TBL_MAKALE
                           join f in db.TBL_BASLIK on s.ID equals f.Makale_ID
                           select new
                           {
                               makale.Makale_Icerik,
                               baslik.MakaleBaslik,
                               makale.Makale_Durum
                           }).ToList();
            myRepeater10.DataSource = Listele;
            myRepeater10.DataBind();

repeater içerisinde yer alan #Eval tag örneğim;

     <a>
                      <%#Eval("MakaleBaslik")%>
                          </a>   
                          <br/>
                      </td>
                      <td class="project_progress">
                          <small>
                              <%#Eval("Makale_Icerik")%>
                          </small>
                              </div>
                          </div  
                      </td>
                      <td class="project-state" style="width: 302px
                          <span class="badge badge-success"><%#Eval("Makale_Durum")%></span
                      </td>

DB tarafında makale tablosu içinde yer alan ID alanı Baslık tablosunda ki Makale_ID alanına bağlanmış durumda.

Insert ederken makale tablosunda ki ID değerini baslık tablosunda ki Makale_ID alanına gönderebiliyorum. Insert etme noktasında sorun yok.

Yardımcı Olabilirseniz sevinirim. Herkese İyi Çalışmalar.

 

 

merhaba 

 

 select new
                           {
                               makale.Makale_Icerik,
                               baslik.MakaleBaslik,
                               makale.Makale_Durum
                           }) 

 

kısmında 

....
 select new List<ABC>
                           {
                              a = makale.Makale_Icerik,
                              b =  baslik.MakaleBaslik,
                              c =  makale.Makale_Durum
                           })
....

şeklinde class ile doner mısınız ? 

hocam cevabınız için teşekkür ederim. Ben bu sorunu çözmüştüm. Ancak konuyu kapatmayı unutmuşum. İlgi alakanıza teşekkür eder, iyi çalışmalar dilerim 🙂

CevapAlıntı
Gönderildi : 04/10/2020 21:51
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

@sercannn

 

nasıl çözdünüz çözümü de yazın 🙂 faydalansın herkes 🙂 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

CevapAlıntı
Gönderildi : 04/10/2020 21:54
sercan
(@sercannn)
Üye

@eravse

Haklısınız hocam. Hemen paylaşıyorum. Aşağıda ki şekilde. Tagin id değerinin db tarafında nereden geldiğini belirterek çözdüm.

Tabi burada ek olarak ID bilgilerini de ekledim.

var Listele = (from s in db.TBL_MAKALE
join f in db.TBL_BASLIK on s.ID equals f.Makale_ID
select new
{
ID = s.ID,
Makale_ID = f.Makale_ID,
Makale_Icerik = s.Makale_Icerik,
MakaleBaslik = f.MakaleBaslik,
Makale_Durum = s.Makale_Durum
}).ToList();
myRepeater10.DataSource = Listele;
myRepeater10.DataBind();

CevapAlıntı
Gönderildi : 04/10/2020 22:01
Hakan Uzuner
(@hakanuzuner)
Kıdemli Üye Yönetici

Geri dönüş ve bilgi için teşekkürler.

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Gönderildi : 11/10/2020 15:46
sercan
(@sercannn)
Üye

@hakanuzuner

 

ben teşekkür ederim hocam.

CevapAlıntı
Gönderildi : 23/10/2020 10:21
Paylaş: