我有用方法語法編寫的linq查詢。我需要創建一個非常相似的方法,只需對最終的Select進行一些更改即可。從方法返回部分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查詢公司獲取包含多個對象的匿名類型?(2在我的例子)
請原諒我的簡單的例子:
如:
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;
}
謝謝您的時間,
Yohimbo
假設我說得對,它可以是IQueryable? –
twoflower
重新使用:「IQueryable」。我想這是我的問題 - WhateverTheQueryIsOperatingOn是一個包含2個對象的匿名對象。我將如何表達? IQueryable ? >? –
Yohimbo