Реализация Fluent API-метода в C # для ef Code-First - PullRequest
1 голос
/ 22 июля 2011

Сначала я использую код 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). My Clas Определения: -

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

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

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

1 Ответ

0 голосов
/ 22 июля 2011

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

...