2015-08-25 2 views
8

Я экспериментировал с Dapper и Dapper.Contrib. У меня есть следующий класс:Dapper использовать уникальное имя таблицы

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

Возможный дубликат [Щеголеватый sqlmapperextensions автоматически добавляет "S" в TABLENAME?] (Http://stackoverflow.com/questions/27341079/dapper-sqlmapperextensions-automatically- добавляет-s к имя_таблице) –

ответ

11

Dapper.Contrib поддерживает атрибут Table. Используйте его, чтобы вручную указать имя таблицы, которую использует объект. Дополнительную информацию см. На странице docs.

В качестве альтернативы есть статический делегат на SqlMapperExtensions под названием TableNameMapper. Вы можете заменить это на реализацию, которая выполняет плюрализацию. PluralizationService в рамке может помочь вам здесь.

Он используется следующим образом:

SqlMapperExtensions.TableNameMapper = (type) => { 
    // do something here to pluralize the name of the type 
    return type.Name; 
}; 
Смежные вопросы