.NET MVC Get İşlemi
-
Merhaba,
geliştirdiğim projede get işlemi sırasında garip bi hata alıyorum. kısaca tüm verileri getiriyor fakat sadece ilişkili tablodaki veriyi çekmiyor.
Örnek veriyorum Yazılar tablom var, tabloda KategoriId sütunu var. Bu sütun Kategoriler tablosu ile ilişkili. Yazı detayını çekerken Yazılar tablosundaki KategoriId sütununu NULL getiriyor.
Ama GetAll yaptığımda sorunsuz tüm veriler geliyor.
Kodları aşağıda paylaşıyorum
Context.cs'te bu şekilde bağlımodelBuilder.Entity<YaziKategori>() .HasMany(e => e.Yazilar) .WithOptional(e => e.YaziKategori) .HasForeignKey(e => e.KategoriId);
GenericManager'de Get bu şekilde.
public T Get(int id) { return genericRepository.Get(id); }
Yazilar.cs'te bu şekilde. Kategori adını falan getiriyor sıkıntı yok.
public int? KategoriId { get; set; } public virtual YaziKategori YaziKategori { get; set; }
Controller'da bu şekilde çekiyorum
var text = textService.Get(id); return View(text);
Fakat veriler bu şekilde geliyor, sadece KategoriId NULL geliyor
Sorun ne olabilir, GetAll ile getirip Get komutu ile getirmemesine anlam veremedim
-
Hocam YaziKategori içinde deger geliyor mu çalıştırdığında?
-
Yazilimci bunu yazdı
Hocam YaziKategori içinde deger geliyor mu çalıştırdığında?
o da null geliyor hocam
-
up olsun, daha fazla ilerlemeden çözmem lazım
-
Webci58 bunu yazdı
up olsun, daha fazla ilerlemeden çözmem lazım
-
bu arada hatanın context kısmında olduğunu fark ettim, bikaç düzenleme yaptığımda KategoriId geldi fakat bu sefer de ilişkili tablodaki veriler gelmiyor YaziKategori vs. ikisini beraber nasıl çekerim çözemedim
Modellerde düzenleme yapmam lazım sanırım
-
ef ün güzellikleri işte. Birde code first ise yandın zaten. Böyle saçma şeyler olabiliyor.
EF core çok güzel olmuş sade ve daha az hatalı. EDMX saçmalıkları yok.
Senin sorununa gelince pek bir yardımcı olamam. Kendi EF hatalarımı bile bazen tespit edemiyorum. EF çok buglu bir yapı.