Ich habe gerade angefangen mit DapperExtensions zu spielen und es sieht sehr vielversprechend aus. Ich bin jedoch verwirrt, wie die Registrierung der ClassMapper-Unterklassen zu behandeln ist.Wie registrieren Sie DapperExtension ClassMapper-Unterklassen, damit sie verwendet werden?
Ich habe sowohl einen benutzerdefinierten PluralizedAutoClassMapper und einen regulären ClassMapper und ich versuche beide zu verwenden.
Hier ist mein pluralisierte Mapper ...
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;
}
}
... und hier ist die Mapper speziell für die LibraryInfo Klasse
public class LibraryInfoMapper : ClassMapper<LibraryInfo>
{
public LibraryInfoMapper()
{
Map(libraryInfo => libraryInfo.Name).Column("LibraryName");
Map(libraryInfo => libraryInfo.Description).Column("LibraryDescription");
AutoMap();
}
}
Die PluralizedAutoClassMapper ich telefonisch unter der an die Arbeit ...
DapperExtensions.DapperExtensions.DefaultMapper = typeof(CustomPluralizedMapper<>);
Aber ich bin mir nicht sicher, wie man den anderen zur gleichen Zeit benutzt. Was vermisse ich?
Resharper beschwert sich "Virtuelle Mitglieder rufen Konstruktor auf": D –
Sie meinen im LibraryInfoMapper? Ich benutze ReSharper nicht, damit ich nicht sehen kann, worauf Sie sich beziehen. Trotzdem funktioniert das und ich habe noch kein einziges Problem damit. – MarqueIV