0
我用Dapper
來訪問我的數據,如下面的代碼。只有兩個函數,但真正的代碼可以擁有hundreads。我想登錄一個特定的數據庫表中所有執行的SQL語句。這應該在所有DataRepository類功能中通用。擴展類的功能與重複公共代碼
實現此功能以避免在每個單一功能(如SelectCustomers
,SelectEmployees
等)中重複執行此功能的最佳方法是什麼?請分享一個例子。
Public Class BaseRepository
Protected Shared Function OpenConnection() As IDbConnection
Dim connection As IDbConnection
connection = New SqlConnection(MyAppSettings.PascomDB)
connection.Open()
Return connection
End Function
End Class
Public Class DataRepository
Inherits BaseRepository
Public Function SelectCustomers() As IEnumerable(Of Customers)
Using connection As IDbConnection = OpenConnection()
Dim query As String = "SELECT * FROM Customers"
Return connection.Query(Of Customers)(query)
connection.Close()
End Using
End Function
Public Function SelectEmployees() As IEnumerable(Of Employees)
Using connection As IDbConnection = OpenConnection()
Dim query As String = "SELECT * FROM Employees"
Return connection.Query(Of Employees)(query)
connection.Close()
End Using
End Function
End Class
我想你應該尋找到面向方面編程。 – plalx