2015-08-25 18 views
8

Ich experimentierte mit Dapper und Dapper.Contrib. Ich habe die folgende Klasse:Dapper Verwendung singular Tabellenname

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; } 
} 

Auf den Tisch zugeordnet ist beeing „Customers“, das pluralized wird. Gibt es eine einfache Möglichkeit, Dapper singuläre Tabellennamen für alle Tabellen zu verwenden?

+0

Mögliche Duplikat [Dapper fügt sqlmapperextensions automatisch "s" zu Tabellenname?] (Http://stackoverflow.com/questions/27341079/dapper-sqlmapperextensions-automatically- adds-s-zu-Tabellenname) –

Antwort

11

Dapper.Contrib unterstützt das Attribut Table. Verwenden Sie es, um den Namen der Tabelle, die eine Entität verwendet, manuell anzugeben. Weitere Informationen finden Sie unter docs.

Alternativ gibt es einen statischen Delegaten unter SqlMapperExtensions mit der Bezeichnung TableNameMapper. Sie können dies durch eine Implementierung ersetzen, die die Pluralisierung durchführt. PluralizationService im Framework kann Ihnen hier helfen.

Es wird wie folgt verwendet:

SqlMapperExtensions.TableNameMapper = (type) => { 
    // do something here to pluralize the name of the type 
    return type.Name; 
};