2016-04-25 9 views
3

DapperとOracleでenumをマッピングする際に助けが必要です。Dapper enum mapping

私はOracle型NUMBER(1)のフィールドを持ち、エンティティで列挙型に変換する必要があります。

public Status Status { get; set; } 

ステータスが列挙型である:

public enum Status 
{ 
    [Description("Inactive", "0")] 
    Inactive = 0, 

    [Description("Active", "1")] 
    Active = 1, 
} 

Dapperのを使用してマッピングを作るには?

+1

Dapperが自動的に行います。クエリーでエンティティクラスのStatusプロパティと同じ名前の番号フィールドが返されるようにしてください。 –

答えて

2

Enumsは、整数または文字列表現のどちらでもJustWork™を使用する必要があります。それが機能していない場合は、投げている例外についてより具体的にする必要があります。例えば、大声でも純粋な思考でも、IIRC Oracleは64ビットとして大量に欲しいという習慣があります。ebunマッピング・コードがすべての数値変換を処理するかどうかは疑問です。そうでなければ、それはバグです。

So:それは機能しますか?

+0

スレッドをハイジャックするのではなく、真剣にあなたの評判はそんなに高いですか?私は答えを探しに来て、それに気づいたことがあり、それは私が苦労していたものです。 –

+0

@KevinBBurns:長年にわたるものに答えることによって) –

+0

re "Enums should JustWork"私はそれをそうするために苦労している。フィールドがINT(11)として定義されているmysqlテーブルに挿入しようとする、ちょうど標準的なenum定義です。フィールドにNULLを指定することはできません。だからDapperはintの代わりにenumをnullにマッピングしていますか? – ScottTx