Dapper utilise un nom de table singulier

c# dapper

Question

J'ai expérimenté avec Dapper et Dapper.Contrib. J'ai le cours suivant:

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

Il est mappé à la table " Customers " qui est pluralisée. Existe-t-il un moyen simple de faire en sorte que Dapper utilise des noms de table singuliers pour toutes les tables?

Réponse acceptée

Dapper.Contrib prend en charge l'attribut Table . Utilisez-le pour spécifier manuellement le nom de la table utilisée par une entité. Voir les documents pour plus d'informations.

Il existe également un délégué statique sur SqlMapperExtensions appelé TableNameMapper . Vous pouvez le remplacer par une implémentation qui effectue la pluralisation. PluralizationService dans le cadre peut vous aider ici.

Il est utilisé comme suit:

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



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi