Forum
Merhaba,
MVC'de CodeFirst yapısı ile tek tabloda ilişkilendirme yapmak istiyorum ama bir türlü sağlıklı bir şekilde yapamadım.
Kategori Classım bu ve bir kaç farklı şekilde oluşturdum
public int KategoriID { get; set; }
public string KategoriAdi { get; set; }
public List<Kategori> ParentIDs { get; set; }
public int ParentID { get; set; }
Tablom bu şekilde oluşuyor ParentIDs sanırım Kategori_KategoriID olarak oluşuyor. Aslında bu tabloma management studio ile bağlanıp manuel int tipinde veri girebiliyorum, ilişkiler normal çalışıyor.
Ama MVC kısmında Controllerda Kategori tablosuna veri girerken ParentIDs propertyme int bir değer gönderiyorum buda var olan bir kategorinin değeri olmasına rağmen Bu hatayı veriyor.
Severity Code Description Project File Line Suppression State
Error CS0029 Cannot implicitly convert type 'int' to 'System.Collections.Generic.List<MVCProje.DATA.Model.Kategori>' MVCProje.WebUI C:\Users\PC\Documents\Visual Studio 2015\Projects\MVCProje\MVCProje.WebUI\Areas\Administrator\Controllers\KategorisController.cs 61 Active
Sanırım Modelde oluşturduğum Class yapımda bir yanlışlık var ama araştırmama rağmen tek tabloda ilişkilendirme CodeFirst ile ilgili çok fazla açıklayıcı içerik bulamadım.
Class yapımda ParentID'yi int olarak da tuttum ancak onu bağlayamadığımdan tam anlamıyla çalıştıramıyorum.
Üstatlarım yardımcı olabilirseniz çok sevinirim.
Faruk selam,
CodeFirst çalışmalarında db context de lazy loading acık ıse bir şey yapmana gerek yok fakat sen muhtemelen kapalı yani lazy loading off sekilde custom bir db context yazdın. Bu durumda db.Kategor.Include("....") seklınde alt tabloları cekebılırsın .
Bir diğer yontem ise Where ile parent ıd 0 olanları cekerek ıc ıce for each le donebılırsın.
saygılar
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com