我尝试了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; }
}
它正在映射到表格" Customers
"这是多元化的。有没有一种简单的方法可以让Dapper为所有表使用单个表名?
答案 0 :(得分:15)
Dapper.Contrib支持Table
属性。使用它手动指定实体使用的表的名称。有关详细信息,请参阅docs。
或者,SqlMapperExtensions
上有一个名为TableNameMapper
的静态委托。您可以将其替换为执行复数化的实现。框架中的PluralizationService可以帮助您。
使用如下:
SqlMapperExtensions.TableNameMapper = (type) => {
// do something here to pluralize the name of the type
return type.Name;
};
答案 1 :(得分:0)
在您的实体类上使用“表”数据注释属性,如下所示:
[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; }
}