如何在Microsoft.EntityFrameworkCore中禁用约定?

Raf*_*ael 9 c# sqlite entity-framework-core

我正在使用带有EFCore的SQLite,但是我遇到了一个问题...如何禁用Pluralize等约定?可能吗?

我的模型构建器没有属性约定...

protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
             modelBuilder. [NOT HAS PROPERTY CONVENTION]
        }
Run Code Online (Sandbox Code Playgroud)

Mus*_*sel 1

您可以禁用复数命名约定,如下所示。

public static class ModelBuilderExtensions
{
    public static ModelBuilder RemovePluralizingTableNameConvention(this ModelBuilder modelBuilder)
    {
        foreach (IMutableEntityType entityType in modelBuilder.Model.GetEntityTypes())
        {
            if (entityType.ClrType == null)
                continue;

            entityType.Relational().TableName = entityType.ClrType.Name;
        }

        return modelBuilder;
    }
}
Run Code Online (Sandbox Code Playgroud)
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.RemovePluralizingTableNameConvention();
}
Run Code Online (Sandbox Code Playgroud)