精緻的模型映射

.net c# dapper data-mapping

我一直在和Dapper玩,我有一個問題。有沒有辦法讓我能夠在我的POCO類中使用枚舉器類型屬性並使用Dapper?似乎每次我添加一個Enumerator類型的屬性我得到以下異常:

System.NotSupportedException:dapper不支持類型:* my_enum_type *

我在這裡錯過了什麼嗎?是否有一個屬性可以附加到這些屬性以指定它們中的哪些屬性映射到數據庫表列?

熱門答案

這是一個小巧玲瓏的舊bug,確保您使用的是最新版本。 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類有一個枚舉類型屬性,它導致了問題。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因