EF Core Mapping EntityTypeConfiguration


在EF6中,我們通常可以使用這種方式配置實體。

public class AccountMap : EntityTypeConfiguration<Account>
{
    public AccountMap()
    {
        ToTable("Account");
        HasKey(a => a.Id);

        Property(a => a.Username).HasMaxLength(50);
        Property(a => a.Email).HasMaxLength(255);
        Property(a => a.Name).HasMaxLength(255);
    }
}

我們如何在EF Core中做,因為當我繼承EntityTypeConfiguration類時無法找到該類。

我從GitHub下載EF Core原始源代碼,我找不到它。有人可以幫忙嗎?

熱門答案

從EF Core 2.0開始,有IEntityTypeConfiguration<TEntity> 。你可以像這樣使用它:

class CustomerConfiguration : IEntityTypeConfiguration<Customer>
{
  public void Configure(EntityTypeBuilder<Customer> builder)
  {
     builder.HasKey(c => c.AlternateKey);
     builder.Property(c => c.Name).HasMaxLength(200);
   }
}

...
// OnModelCreating
builder.ApplyConfiguration(new CustomerConfiguration());

有關此內容以及2.0中引入的其他新功能的更多信息,請參見此處





許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因