Id den Adres'e kadar tüm zellikler aynı ise onları BaseCompany gibi bir class olarak tanımla, daha sonra diğer class ları bundan türetebilirsin. Zaten farklı propertylere sahipse byle yapman normal. Anladığım kadarıyla bu class lar senin modelin olacak, o yüzden çok fazla kompleks düşünmene gerek yok. Hatta 16 tane ayrı class yapsan bile sorun olacak bir durum yok, çünkü her hangi bir operasyon barındırmıyor. operasyonel tarafında da mesela repository design pattern den yararlanabilirsin http://web.archive. org/web/20150404154203/https://www.remondo.net/repository-pattern-example-csharp/ Aynen hocam yapımda generic repository, IOC, UnityOfWork vs hepsini kullanıyorum. İşte sıkıntımda o BaseCompany ve BasePerson diye 2 tane base class ım mı olmalı? Aşağıda blmeye çalıştım. 8 farklı tip gibi grünsede Xşahıs tipi - Xşirket tipi diye ayırırsam 16 farklı class olacak. Ortak olan prop ları renklendirmeye çalıştım bu durumda tüm renk sayısı kadar base class ım olmalı ki ortak prop ları bu baselere yazayım yanlış mıyım? Aynen hocam bu classlar benim modellerim oalcak. Paslanmış bir uygulama geliştirici.. #AnalistŞart

Id den Adres'e kadar tüm zellikler aynı ise onları BaseCompany gibi bir class olarak tanımla, daha sonra diğer class ları bundan türetebilirsin. Zaten farklı propertylere sahipse byle yapman normal. Anladığım kadarıyla bu class lar senin modelin olacak, o yüzden çok fazla kompleks düşünmene gerek yok. Hatta 16 tane ayrı class yapsan bile sorun olacak bir durum yok, çünkü her hangi bir operasyon barındırmıyor. operasyonel tarafında da mesela repository design pattern den yararlanabilirsin http://web.archive. org/web/20150404154203/https://www.remondo.net/repository-pattern-example-csharp/ Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

YeniHarman bunu yazdı http://www.entityframeworktutorial.net/code-first/inheritance-strategy-in-code-first.aspx http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-inheritance-with-the-entity-framework-in-an-asp-net-mvc-application TPH, TPT ve TPC olmak üzere üç farklı yaklaşım var. Yolladığım bağlantılara bakın. hocam burda grdüğüm kadarıyla db ye müdahale ediliyor, yani tasarımı baştan yaptırıyor gibi. Kesinlikle:) Hocam mecburiyet diyelim. Başka türlü simule etmekten başka çzüm yok diye biliyorum. Olaylara karışmayın!

sorunu şimdi anladım hocam, sen X, Y tipi altında genelleştirmeye çalışmışsın ama altındaki şahıs ve şirket de farklıymış. Yerinde olsam db de bu kolon adlarını değiştirip daha çok ortak yapardım, o zaman şahıs ve şirket tamamen aynı olurdu, ama db yi değiştirme imkanın yoksa Şahıs ve Şirket lerdeki ortakları toplayıp bir base class altına alacaksın daha sonra BasePerson ve BaseCompany oluşturacaksın ve baseinfo dan türeyecekler. Buraya kadar olan kısım Id den Adres e kadar olan kısım olacak.. Kalan kısımlar için ise X tipi şahıs, X tipi şirket, Y tipi şahıs, Y tipi şirket şeklinde oluştuacaksın. Çünkü anladığım kadarıyla toplam 16 tablon var ve her halukarda bu şekilde bir yapıya ihtiyaç duyacaksın gibi grünüyor. Senin yerinde olsam ve imkanım olsa veritabanı yapısını değiştirirdim hocam. Şyle; Bir tane tablo, Id den Adrese kadar tüm bilgileri eklerdim ve ek olarak bir de Tip ve Kind diye iki kolon oluştururdum Harici bir tabloya gerek duymadan 3 tane field i de buraya kolon olarak ekledim sorunun tek tabloyla çzülürdü. En ktü ihtimal farklı bir tablo yapardım orada da bu A, B, C propertylerinin isimlerini ve değerlerini tutardım, bir de ilişkide olması için oluşturduğum tablonun id sini yazardım.. Yeni harmanın linklerine baktıktan sonra bunu deneyeceğm hocam. Tek bir tabloda hepsini tut diyorsun değil mi? Ayrı ayrı tablolar işi kolaylaştırır diye düşünmüştüm lakin çok karmaşıklaştırdı :) Paslanmış bir uygulama geliştirici.. #AnalistŞart

Selam hocalar, Bir model çıkarmaya uğraşıyorum lakin en sade ve optimum tasarımı çıkaramadım. Aşağıdaki gibi 8 tip var. Tabi şahıs ve şirket diye ayırırsa 16 tablo oluyor. Kalıtım dikkate alınarak nasıl bir base class olmalı interface yahut abstract class tasarımı nasıl olmalı sizler bu tip durumlarda nasıl bir yol izliyorsunuz? He desen ki her birini 16 ayrı tabloya 16 ayrı poco class ile bas o da bir yntem :) lakin hiç de kullanışlı değil :) Bu yüzden işin içine interface - abstract girdiğinde nasıl bir tasarım çıkar buradan? Kullanıdığım araç ve yntem: Asp. Net MVC, EF CodeFirst. Paslanmış bir uygulama geliştirici.. #AnalistŞart

sorunu şimdi anladım hocam, sen X, Y tipi altında genelleştirmeye çalışmışsın ama altındaki şahıs ve şirket de farklıymış. Yerinde olsam db de bu kolon adlarını değiştirip daha çok ortak yapardım, o zaman şahıs ve şirket tamamen aynı olurdu, ama db yi değiştirme imkanın yoksa Şahıs ve Şirket lerdeki ortakları toplayıp bir base class altına alacaksın daha sonra BasePerson ve BaseCompany oluşturacaksın ve baseinfo dan türeyecekler. Buraya kadar olan kısım Id den Adres e kadar olan kısım olacak.. Kalan kısımlar için ise X tipi şahıs, X tipi şirket, Y tipi şahıs, Y tipi şirket şeklinde oluştuacaksın. Çünkü anladığım kadarıyla toplam 16 tablon var ve her halukarda bu şekilde bir yapıya ihtiyaç duyacaksın gibi grünüyor. Senin yerinde olsam ve imkanım olsa veritabanı yapısını değiştirirdim hocam. Şyle; Bir tane tablo, Id den Adrese kadar tüm bilgileri eklerdim ve ek olarak bir de Tip ve Kind diye iki kolon oluştururdum Harici bir tabloya gerek duymadan 3 tane field i de buraya kolon olarak ekledim sorunun tek tabloyla çzülürdü. En ktü ihtimal farklı bir tablo yapardım orada da bu A, B, C propertylerinin isimlerini ve değerlerini tutardım, bir de ilişkide olması için oluşturduğum tablonun id sini yazardım.. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

http://www.entityframeworktutorial.net/code-first/inheritance-strategy-in-code-first.aspx http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-inheritance-with-the-entity-framework-in-an-asp-net-mvc-application TPH, TPT ve TPC olmak üzere üç farklı yaklaşım var. Yolladığım bağlantılara bakın. inceliyorum hocam eyv. Paslanmış bir uygulama geliştirici.. #AnalistŞart

http://www.entityframeworktutorial.net/code-first/inheritance-strategy-in-code-first.aspx http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-inheritance-with-the-entity-framework-in-an-asp-net-mvc-application TPH, TPT ve TPC olmak üzere üç farklı yaklaşım var. Yolladığım bağlantılara bakın. hocam burda grdüğüm kadarıyla db ye müdahale ediliyor, yani tasarımı baştan yaptırıyor gibi. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

hocam pek uyuyamadım gece o yüzden kafam iyi çalışmıyor, düşünemiyorum tam tasarım nasıl olmalı. Belki bir kaç tablo daha mantıklı olabilir ama en ktü ihtimal 2 tablo işini grecektir.. Sadece x-y.. tipini ve şahıs-şirket kavramını tutacaksın. Eğer başka bir şeyler daha eklenecekse yani dinamik olacaksa, X, Y tipi için ayrı bir tablo, şahıs-şirket için ayrı bir tablo yapabilirsin. diğer A, b, c property için name, value, relationalId yi tutabilirsin. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Eğer yanlış anlamadıysam, aslında hücre içerikleri aynı olmasına rağmen tipleri farklıysa, mesela insan tablosu için 30 kişi var . bu durumda tabloya bir de type_id şeklinde atama yapıp ayrıştırılabilir. bu sayede aynı tabloda olmasına rağmen zibilyon tane tip üretilebilir? ben mi yanlış anladım acaba? Bilen konuşmuyor, konuşan bilmiyor...

http://www.entityframeworktutorial.net/code-first/inheritance-strategy-in-code-first.aspx http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-inheritance-with-the-entity-framework-in-an-asp-net-mvc-application TPH, TPT ve TPC olmak üzere üç farklı yaklaşım var. Yolladığım bağlantılara bakın. Olaylara karışmayın!