Отображение модели Dapper

.net c# dapper data-mapping

Вопрос

Я играл с Даппером, и у меня есть вопрос. Есть ли способ для меня иметь свойство типа перечислителя в моем классе POCO и использовать Dapper? Кажется, что каждый раз, когда я добавляю свойство, которое имеет тип Enumerator, я получаю следующее исключение:

System.NotSupportedException: Тип: * my_enum_type * не поддерживается dapper

Я что-то упустил? Есть ли атрибут, который я могу прикрепить к этим свойствам, чтобы указать, какие из них сопоставляются столбцам таблицы базы данных?

Популярные ответы

Это старая ошибка в dapper, убедитесь, что вы используете последнюю версию. 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 как определенный тип, и этот тип содержит свойство типа, которое не покрывается кодом dapper (например, Enum), тогда код выходит из строя с вышеупомянутой ошибкой. Класс My User имел свойство типа Enum, и это вызывало проблему.



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему