ASP.NET MVC 프로젝트에서 작업 중입니다. 간단한 캐싱 기능을 가진 저장소를 통한 데이터 액세스. 다음과 같은 몇 가지 기능이 포함되어 있습니다.일반 함수의 LINQ 문
Public Function SelectAllCurrencies() As List(Of store_Currency)
Dim AllCurrencies As List(Of store_Currency)
If UseCaching Then
AllCurrencies = HttpContext.Current.Cache("AllCurrencies")
If AllCurrencies Is Nothing Then
AllCurrencies = (From Currencies In db.Currencies Order By Currencies.Title Ascending).ToList
Cache.AddToCache("AllCurrencies", AllCurrencies)
End If
Else
AllCurrencies = (From Currencies In db.Currencies Order By Currencies.Title Ascending).ToList
End If
Return AllCurrencies
End Function
Public Function SelectAllCountries() As List(Of store_Country)
Dim AllCountries As List(Of store_Country)
If UseCaching Then
AllCountries = HttpContext.Current.Cache("AllCountries")
If AllCountries Is Nothing Then
AllCountries = (From Countries In db.Countries Order By Countries.Title Ascending).ToList
Cache.AddToCache("AllCountries", AllCountries)
End If
Else
AllCountries = (From Countries In db.Countries Order By Countries.Title Ascending).ToList
End If
Return AllCountries
End Function
위에서 볼 수 있듯이, 이들은 동일한 워크 플로를 반복해서 사용합니다. 이 중복성을 제거하고 싶습니다. 제네릭은 솔루션을 제공해야한다고 생각하지만 제 인생에서 LINQ 문을 처리하는 방법을 일반 SelectAllEntities(Of T)
함수로 파악할 수는 없습니다. 동적 LINQ를 사용하여 쿼리를 '일반화'할 수 있습니까?
처럼 사용할 수
는'(T의) 유형 '을 IEnumerable없이 단지 매개 변수인가? – Jodrell