2011-07-21 9 views
1

私はDapperで遊んでいましたが質問があります。私のPOCOクラスに列挙型のプロパティを持ち、Dapperを使うことができる方法はありますか?Dapperモデルマッピング

System.NotSupportedException::タイプ:* my_enum_type *がDapperの

によってサポートされていない されて、私は足りない私はタイプ列挙子のあるプロパティを追加するたびのように、私は次の例外を取得するようですここに何か?これらのプロパティにアタッチしてデータベーステーブルの列にマッピングする属性を指定できるアトリビュートはありますか?

+0

あなたは実際には 'IEnumerator'(ありそうもない)か' IEnumerable'を意味しますか? –

+0

「enum」型か? –

+0

私は列挙型を意味する...混乱のために申し訳ありません。 – Marko

答えて

2

これはdapperの古いバグです。最新バージョンを使用していることを確認してください。 Dapperは入力タイプのプロパティでフィルタリングを実行しませんでした。

私はこれを理解しました。これを第1位で見ないと私のせいでした。

Dim result = conn.Query("SELECT * FROM Users WHERE UserID = @UserID", New User With {.UserID = userID}) 

しかし、何が行われるのに必要なことである:これは私が最初にやったものであるのparamを宣言言い換えれば

Dim result = conn.Query("SELECT * FROM Users WHERE UserID = @UserID", New With {.UserID = userID}) 

匿名型が不可欠であるとして。 paramを特定の型として宣言し、その型に型のコード(Enumなど)で扱われない型のプロパティが含まれている場合、コードは上記のエラーでクラッシュします。私のUserクラスにはEnum型のプロパティがあり、問題を引き起こしていました。

+0

私はすでに最新の大まかな型と実型を使用していることを確認できますか?私はすでに –

+0

のparam strippingを実装しています。http://stackoverflow.com/questions/6520128/dapper-parameterised-queries -with-linq-autogenerated-types/6520421#6520421 –

+0

あなたは正しいです、最新バージョンのコードを使用して新しいDLLをコンパイルし、問題を修正しました。私が最後にやった時間は1ヶ月以上前です。ご迷惑おかけして申し訳ありません... – Marko