为ef Code-First在c#中实现Fluent API类方法

本文关键字:实现 Fluent API 类方法 ef Code-First | 更新日期: 2023-09-27 18:03:15

我首先使用EF 4.1代码,并使用流畅的API进行实体配置。

我使用以下方式来配置我的实体。几乎我的数据库中的每个表键都是"iccustomerid + TableKey"的组合,因此,每个外键关系也需要引用它。

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

我想在我的基类中实现一个方法(它继承了EntityTypeConfiguration),它将接受TargetEntity、TargetKey,并将执行上面的外键创建(通过自动包括iccustomerid)。我的类定义:-

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

有任何想法,我如何实现这样的方法?

为ef Code-First在c#中实现Fluent API类方法

KeyType....您确定这种类型的密钥将唯一地标识您的密钥吗?我可能会用名字和反射。