Dapper使用奇异的表名

tre*_*nki 9 c# dapper

我试验了Dapper和Dapper.Contrib.我有以下课程:

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; }
}
Run Code Online (Sandbox Code Playgroud)

它被映射到多个表" Customers".是否有一种简单的方法可以让Dapper为所有表使用单个表名?

Dea*_*ard 15

Dapper.Contrib支持该Table属性.使用它手动指定实体使用的表的名称.有关详细信息,请参阅文档.

或者,在SqlMapperExtensions被调用时有一个静态委托TableNameMapper.您可以将其替换为执行复数化的实现.框架中的PluralizationService可以帮助您.

它使用如下:

SqlMapperExtensions.TableNameMapper = (type) => {
    // do something here to pluralize the name of the type
    return type.Name;
};
Run Code Online (Sandbox Code Playgroud)