我刚刚开始使用 DapperExtensions,它看起来很有希望。但是,我对如何处理注册 ClassMapper 子类感到困惑。
我有一个自定义的 PluralizedAutoClassMapper 和一个常规的 ClassMapper,我正在尝试同时使用它们。
这是我的多元化映射器......
public class CustomPluralizedMapper<T> : PluralizedAutoClassMapper<T>
where T : class
{
private readonly Type[] SinglularTablePocoTypes = new []{
typeof(LibraryInfo)
};
public override void Table(string tableName)
{
base.Table(tableName);
if(SinglularTablePocoTypes.Any(type => string.Equals(type.Name, tableName, StringComparison.CurrentCultureIgnoreCase)))
TableName = tableName;
}
}
...这是专门用于 LibraryInfo 类的映射器
public class LibraryInfoMapper : ClassMapper<LibraryInfo>
{
public LibraryInfoMapper()
{
Map(libraryInfo => libraryInfo.Name).Column("LibraryName");
Map(libraryInfo => libraryInfo.Description).Column("LibraryDescription");
AutoMap();
}
}
PluralizedAutoClassMapper 我通过调用以下命令开始工作......
DapperExtensions.DapperExtensions.DefaultMapper = typeof(CustomPluralizedMapper<>);
但我不确定如何同时使用另一个。我错过了什么?