2017-05-29 6 views
3

式をパラメータとして指定することによって、クエリ可能な列を選択する方法を頭に入れてはいけません。LINQ to Entities式パラメータを持つ列を選択

Method A(IQueryable<Order> query) 

インサイド方法A私が選択する列を指定したいので、私はこのように、すぐにすべての列を取得いけない:私は方法Aで直接これを指定した場合

query.Select(x => new { x.OrderNumber, x.Payment, x.Customer }) 

これは簡単で、私はパラメータを使用して情報を渡したいと思います。 私はこのような表現を使用してみました:

Expression<Func<Order, dynamic>> columns 

しかし、私は唯一の私は、このように、メソッドAを呼び出す1列、指定することができますので、私は、それを動作させることはできません。

MethodA(query, (x) => x.OrderNumber); 

をどのように複数のプロパティを指定できますか?

答えて

0

単に列名を渡す場合は、文字列を配列として渡すのはなぜですか?

void MethodA(params string[] columns)

+0

私は物事を行うLINQの方法を使用してプロパティを渡したいと思います。 私は基本的にquery.Select()式を渡したいと思います。 – mp1990

2

解決策が見つかりました。

MethodA(query, order => new { order.OrderNumber, order.Payment }) 

は、今私は他の方法からの私の選択式に渡すことができます。 私は単にこのような匿名型を指定する必要がありました。

関連する問題