Описание тега dapper-fluentmap
None Простой API для отображения свойств POCO в столбцы базы данных при использовании Dapper
Dapper.FluentMap предоставляет простой API для сопоставления ваших свойств POCO со столбцами базы данных при использовании Dapper. Это избавляет от необходимости указывать псевдонимы столбцов в ваших запросах и сохраняет ваш POCO чистым от атрибутов сопоставления.
Чтобы установить пакет NuGet, введите в консоли диспетчера пакетов следующее:
PM> Install-Package Dapper.FluentMap
Dapper.FluentMap поддерживает сопоставление вручную и сопоставление на основе соглашений.
Ручная карта будет выглядеть так:
public class ProductMap : EntityMap<Product>
{
public ProductMap()
{
// Map property 'Name' to column 'strName'.
Map(p => p.Name)
.ToColumn("strName");
// Ignore the 'LastModified' property when mapping.
Map(p => p.LastModified)
.Ignore();
}
}
Типичная реализация соглашения выглядит так:
public class TypePrefixConvention : Convention
{
public TypePrefixConvention()
{
// Map all properties of type int and with the name 'id' to column 'autID'.
Properties<int>()
.Where(c => c.Name.ToLower() == "id")
.Configure(c => c.HasColumnName("autID"));
// Prefix all properties of type string with 'str' when mapping to column names.
Properties<string>()
.Configure(c => c.HasPrefix("str"));
// Prefix all properties of type int with 'int' when mapping to column names.
Properties<int>()
.Configure(c => c.HasPrefix("int"));
}
}
Дополнительные сведения о сопоставлении, настройке и инициализации см. В документации.