Я играл с Dapper-Contrib немного и имею проблему с возвратом объекта с использованием .Get, чтобы я мог поддерживать отслеживание изменений для объекта.Как получить объект с отслеживанием изменений в Dapper .Contrib?
Мой Интерфейс:
Imports Dapper.Contrib.Extensions
Public Interface ICountry
<Key>
Property CountryGUID As Guid
Property Country As String
End Interface
Класс:
Imports Dapper.Contrib.Extensions
<Table("Country")>
Public Class Country
Implements ICountry
<Key>
Public Property CountryGUID As Guid Implements ICountry.CountryGUID
Public Property Country As String Implements ICountry.Country
End Class
Моя функция:
Public Function Find(countryId As Guid) As ICountry
Dim country As ICountry
Using conn = New SqlConnection(ConnectionString)
conn.Open()
country = conn.Get(Of ICountry)(countryId)
conn.Close()
End Using
Return country
End Function
И я получил ошибку говоря Invalid имя объекта 'Countrys' при вызове вышеуказанная функция.
Проблема заключается в том, что Dapper sqlmapperextensions автоматически добавляет «s» в tablename и может быть решена путем определения TableAttribute. Однако TableAttribute поддерживается только для классов, но не для интерфейсов.
Обратите внимание, что я должен позвонить .Get
с интерфейсом, чтобы иметь функции отслеживания.