Как преобразовать dbnull в пустую строку в DapperC#

Место общения программистов C#
Ответить
Anonymous
 Как преобразовать dbnull в пустую строку в Dapper

Сообщение Anonymous »

Я рефакторирую какой -то код, который использовал отражение, чтобы отобразить SQLCommand для модели. Новый код использует платформу Dapper и работает совершенно нормально: < /p>
Public Shared Function GetModel(Of T As New)(cmd As SqlCommand) As T
Try

Dim params = GetParametersDictionary(cmd)
Dim result As Object

Using conn As New SqlConnection(ConnectionString)
result = conn.Query(Of T)(cmd.CommandText, params).FirstOrDefault()
End Using

Return result

Catch ex As Exception
ErrorsLogger.LogException(ex)
Throw
End Try
End Function
< /code>
Однако в старом коде у меня был крайний случай для свойств строк и значений dbnull. Что-то вроде: < /p>
If IsTypeOfString(prop) AndAlso IsDbNull(value) Then
prop.SetValue(obj, "")
End If
< /code>
Новый код не преобразует значения dbnull (null) в пустую строку. Вместо этого он оставляет значение, просто ничего не устанавливающего, что -то, нарушая какой -то код в другом месте. Предпочтительно без отражения. < /P>
Пробое /рассмотрено /рассмотрение /ограничения: < /p>

Custom Dapper SQLMapper: не работает, когда значения являются NULL. что каждое свойство строки правильно инициализировано с помощью "".>

Подробнее здесь: https://stackoverflow.com/questions/772 ... -in-dapper
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»