質問
でLINQの<のhref = "http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library。
:ASPX」のrel = "nofollowをnoreferrer">ダイナミッククエリには、スコット・ガスリーは、LINQのクエリ例を示しますvar query =
db.Customers.
Where("City == @0 and Orders.Count >= @1", "London", 10).
OrderBy("CompanyName").
Select("new( CompanyName as Name, Phone)");
注意投影new( CompanyName as Name, Phone)
。私はこのようなクラスを持っている場合:
public class CompanyContact {
public string Name {get;set;}
public string Phone {get;set;}
}
どのように私は基本的に「キャスト」彼の結果を各レコードにforeachのをやって、異なるデータ構造にそれをダンプすることなく、CompanyContactデータ型を使用してもらえますか?私の知る限りでのみ.Select利用可能な唯一の文字列とパラメータリストをとるDymanicクエリバージョンです。
解決
Aは、これまで私は、動的クエリメソッドは、通常の選択を(意味のIQueryable <>オブジェクトを、)を返す、あなたが引用記事から見ることができるように利用可能であるべきである。
var query =
db.Customers.
Where("City == @0 and Orders.Count >= @1", "London", 10).
OrderBy("CompanyName").
Select( c => new CompanyContact {Name = c.CompanyName, c.Phone});
あなたは明示的に選択し、
の型を与える必要があり Select<Customer>( c => new CompanyContact {Name = c.CompanyName, c.Phone});
所属していません StackOverflow