Реализация метода типа Fluent API на C# для ef Code-First

Сначала я использую код EF 4.1 и использую свободный API для конфигурации объекта.

Я использую следующий способ настройки своих объектов. Почти каждый ключ таблицы в моей базе данных состоит из «ICustomerId + TableKey», следовательно, каждое отношение внешнего ключа требует, чтобы он также ссылался на него.

  HasRequired(x => x.Company)
  .WithMany(y => y.CompanyContacts)
  .HasForeignKey(p => new { p.ICustomerID, p.CompanyID })
  .WillCascadeOnDelete(false);

Я хочу реализовать метод в своем базовом классе (который наследуется от EntityTypeConfiguration), который будет принимать TargetEntity, TargetKey и выполнять создание внешнего ключа выше (путем автоматического включения ICustomerId. Мои определения Clas: -

public class CompanyContactsMapping 
               : BaseInsightTypeConfiguration<CompanyContacts,int>
{...

public class BaseInsightTypeConfiguration<T, TKeyType> 
               : EntityTypeConfiguration<T> where T : BaseInsightEntity<TKeyType>
{...

Любая идея, как я могу реализовать такой метод?


person Anand    schedule 22.07.2011    source источник


Ответы (1)


KeyType.... вы уверены, что этот тип ключа однозначно идентифицирует ваш ключ? Я бы пошел с именами и отражением, возможно.

person Hassan    schedule 22.07.2011