C# 使用单数表名

C# 使用单数表名,c#,dapper,C#,Dapper,我试着用简洁和简洁。我有以下课程: public class Customer { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public DateTime DateOfBirth { get; set; } public bool Active { get; set; } } 它被映射到表“

我试着用简洁和简洁。我有以下课程:

public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime DateOfBirth { get; set; }
    public bool Active { get; set; }
}

它被映射到表“
Customers
”中,该表是多元的。是否有一种简单的方法使Dapper对所有表使用单数表名?

Dapper.Contrib支持
属性。使用它可以手动指定实体使用的表的名称。有关更多信息,请参阅

或者,在
SqlMapperExtensions
上调用一个静态委托。您可以将其替换为执行多元化的实现。在这个框架中可以帮助您

其用途如下:

SqlMapperExtensions.TableNameMapper = (type) => {
    // do something here to pluralize the name of the type
    return type.Name;
};
[Table("Customer")]
public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime DateOfBirth { get; set; }
    public bool Active { get; set; }
}

在实体类上使用“表”数据注释属性,如下所示:

SqlMapperExtensions.TableNameMapper = (type) => {
    // do something here to pluralize the name of the type
    return type.Name;
};
[Table("Customer")]
public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime DateOfBirth { get; set; }
    public bool Active { get; set; }
}

我试图使用该委托实现一个函数,但没有成功。能否请您以一个如何使用
SqlMapperExtensions
的示例提供更多详细信息?特别是关于
//在这里做一些事情,使类型的名称多元化
部分,假设我们有POCO类学生,该学生通过Dapper进行多元化,成为学生。此外,我还提出了一个问题: