У меня есть запрос linq, написанный в синтаксисе метода. Мне нужно создать очень похожий метод с некоторыми изменениями в окончательном выборе.
Можно ли вернуть частичный запрос Linq из метода, чтобы я не дублировал код? У меня проблема заключается в том, чтобы найти «Тип» запроса, которым нужно пометить метод.
Если я использую query.GetType (), он возвращает (урезанная версия):
SubSonic.Linq.Structure.Query`1[<>f__AnonymousType18`6[advert,client]]
Я попытался создать возвращаемый тип:
SubSonic.Linq.Structure.Query<advert, client> query = new SubSonic.Linq.Structure.Query<advert, client>();
Однако я получаю сообщение об ошибке:
Error 20 Using the generic type 'SubSonic.Linq.Structure.Query<T>' requires '1' type arguments
Итак, я думаю, я спрашиваю, как объявить возвращаемый тип, который является Subsonic Query, содержащим анонимный тип, содержащий несколько объектов? (2 в моем примере)
Прошу прощения за мой простой пример:
eg:
internal ????? GetQueryBody(string param1, string param2){
/* buld the linq query here */
}
internal List<Booking> GetSearchResultsOne(string param1, string param2){
var query = this.GetQueryBody(string param1, string param2);
var res = query.Select( db => new Booking { /*fields */).ToList();
return res;
}
internal List<BookingData> GetSearchResultsTwo(string param1, string param2){
var query = this.GetQueryBody(string param1, string param2);
var res = query.Select( db => new BookingData { /*fields*/).ToList();
return res;
}
Спасибо за уделенное время,
Йохимбо