精致的模型映射

时间:2011-07-21 21:31:49

标签: c# .net dapper data-mapping

我一直在玩Dapper,我有一个问题。有没有办法让我能够在我的POCO类中使用枚举器类型属性并使用Dapper?似乎每次我添加一个Enumerator类型的属性我得到以下异常:

  

System.NotSupportedException:类型:* my_enum_type *不是   由dapper支持

我在这里遗漏了什么吗?是否有一个属性可以附加到这些属性以指定它们中哪些属性映射到数据库表列?

1 个答案:

答案 0 :(得分:2)

这是小巧玲珑的老虫,确保您使用的是最新版本。 Dapper用于对输入类型属性不执行过滤。

<击> 好吧,我想出来了,因为没有在第一名看到这个是我的错。这就是我最初做的事情:

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

但需要做的是:

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

换句话说,将param声明为匿名类型至关重要。如果将param声明为特定类型,并且该类型包含dapper代码未涵盖的类型属性(例如Enum),则代码会因上述错误而崩溃。我的User类有一个枚举类型属性,它导致了问题。