Mapper les énumérations en utilisant dapper

dapper enums

Question

J'ai le problème suivant. J'utilise Dapper pour me connecter à une base de données, le champ qui est un varchar dans la base de données est un enum dans mon objet. Dapper n'a aucun problème pour mapper l'objet de base de données à mon DTO si l'énum a le même nom que la chaîne de la base de données. Malheureusement, les chaînes de la base de données ne sont pas très conviviales et je me demandais s'il était possible de les mapper ou de les convertir (uniquement enums) pour utiliser des versions plus conviviales. Par exemple, valeur de base de données pour un champ:

SomeVeIRdLooking_Value

Et je voudrais qu'il mette en correspondance avec:

public enum MyEnum {
    MyFormattedValue
}

Réponse populaire

Vous pouvez sélectionner des valeurs de chaîne à partir de la base de données et les convertir manuellement.

    public enum MyEnum
    {
        None,
        Success,
        Failure
    }

    var enums = connection.Query<string>("select 'None' union select 'Success' union select 'Failure'")
            .Select(x => Enum.Parse(typeof (MyEnum), x)) //use your own method to parse enum from string
            .ToList();


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