Bunun beynin içinde olduğunu düşünüyorum, ama sorum şu Entity Framework ile ilgili.Entity Framework: Birden çok sınıfı bir tabloya eşleştirin
Veritabanı modelimde - değiştiremediğim - farklı sınıflarda depolamak istediğim gereksiz sütunlar var.
public class DateParams
{
public DateTime CreationDate { get; set; }
public DateTime ModificationDate { get; set; }
// some methods
}
public class Localization
{
public String EnglishLabel { get; set; }
public String FrenchLabel { get; set; }
// some methods
}
Sonra benim modellerinin bazılarında bunları kullanmak istiyorsunuz:
Örnekelde etmek istiyorum ne
public class Account // Localization && DateParams
{
public int ID { get; set; }
public String Name { get; set; }
public Localization Localization { get; set; }
public DateParams DateParams { get; set; }
}
public class Lead // DateParams only
{
public int ID { get; set; }
public String Name { get; set; }
public DateParams DateParams { get; set; }
}
bu
public class LocalizationMap : EntityTypeConfiguration<Localization>
{
public LocalizationMap()
{
Property(e => e.EnglishLabel).HasColumnName("en");
Property(e => e.FrenchLabel).HasColumnName("fr");
}
}
public class AccountMap : EntityTypeConfiguration<Account>
{
public AccountMap()
{
HasKey(x => x.ID);
Property(e => e.Name).HasColumnName("Name");
HasSubMapping(new LocalizationMap());
HasSubMapping(new DateParamsMap());
ToTable("Account");
}
}
gibi bir şey sahip olan Bunu çözmek için miras kullanabilirdim, fakat C# çoklu mirasa izin vermiyor.
Belki Varlık Framework Kompleks Türleri örneğin bir göz olmalıdır Burada: http://stackoverflow.com/questions/9931341/entity-framework-reuse-complex-type – ChriPf
@ChrifP, bir asnwser olarak yorumunuzu gönderebilir, böylece kabul edebilirim? Karmaşık çözümle gittim. – Akli