@model KitapOtomasyonMVC.Models.tbl_account

şeklinde view içerisinde model tanımlaması yapıyorum.Burada tbl_account tablosunun bütün elemanlarına rahatça erişebiliyorum.Ancak bu tablo ile bağlantılı başka bir tabloya daha erişmek istiyorum anı view içerisinde.Account tablosunun içerisinde virtual olarak diğer tabloyu verdim.View içerisinde erişebiliyorum o tabloya ancak sürekli null geliyor.

 public virtual tbl_yazarlar tbl_yazarlar { get; set; }

view içerisinde tbl_yazarlar tablosunun id'si ile tbl_account tablosunun yazarid kolonlarını eşitlemek ve buna göre view içerisinde listelemek istiyorum.Bir çok account olabilir ancak her account sadece 1 yazarla eşleşmiştir.Veritabanında 5 kayıt account 2 kayıt yazar var örneğin.

Yardımlarınız için teşekkürler

soruldu: 27 Nis, 03:47

muratkrgzgl's gravatar image

muratkrgzgl
0234
cevap kabul oranı: 0%

Codefirst ile mi yapıyorsunuz veritabanı işlemlerini? Öyle ise model tanımlarınızı da soruya ekleyebilir misiniz?

(21 Haz, 02:25) AliRıza Adıyahşi ♦ AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

Anlatıklarından yola çıkarak söylüyorum. Siz controller da view kısmına veri gönderirken

return View (db.tbl_account.FirstOrDefault());

gibi bir ifade kullanıyorsunuz. sizin modelinizde virtual olan tbl_yazarlar diye bir liste var. normalde account bilgisine ait yazar listesinin gelemesi lazım diye düşünülür. fakat burda entity framework'ün veri kullanım yaklaşımı göz ardı edilmiş durumdadır. entity framework lazy loadin yaklaşımını default baz aldığından siz veri çekme esnasında

db.tbl_account.select(a=>a.id==id);

gibi bir ifade kullanmadığınız sürece framework alt kısımdaki verileri döndürmez. bu işlemi doğru bir şeklide yapabilmek için controller tarafında veri çekme esnasında verinin bütününü çekmeniz gerekmektedir. ör ;

var account=db.tbl_account.FirstOrDefault();
account.tbl_yazarlar=db.tbl_yazarlar.where(a=>a.accountid==account.id).ToList();
return View(account);

farklı yolları vardır kesinlikle şimdilik direk aklıma bu geldiğinden yazdım.

permanent link

cevaplandı: 13 Haz, 06:36

jacksparrow47's gravatar image

jacksparrow47
931142332
cevap kabul oranı: 27%

değiştirildi: 13 Haz, 06:37

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×158
×81
×14
×5
×4

Soruldu: 27 Nis, 03:47

Görüntüleme: 294 kez

Son güncelleme: 21 Haz, 02:25

powered by BitNami OSQA