ウェブ上にこれの例がたくさんあることは知っていますが、これを機能させることができないようです。
これを設定してみましょう。値の範囲を制限する必要があるカスタムオブジェクトのリストがあります。
UIでのアクションに基づいて変化する並べ替え変数があり、それに基づいてオブジェクトを別の方法で処理する必要があります。
これが私のオブジェクトです:
MyObject.ID - Just an identifier
MyObject.Cost - The cost of the object.
MyObject.Name - The name of the object.
次に、コストの範囲に基づいてこれをフィルタリングする必要があるため、下の2つのプロパティのいずれかによって制限される可能性があることを考慮して、これに似たものを作成します。
var product = from mo in myobject
where mo.Cost <= 10000
また
var product = from mo in myobject
where mo.Name equals strName
これで、プロジェクトに動的なlinqが含まれていますが、実際に機能させる方法がわかりません。たとえば、取得している例のいくつかを実行すると、次のようになります。
Func<Tsourse>bool> predicate
オプションとして。
更新: 現在、linqクエリのコピーと貼り付けが多いため、コードをオブジェクト化するのに役立つソリューションを見つけようとしています。
更新2:
次の間に明らかなパフォーマンスの違いがありますか?
var product = from mo in myobject
... a few joins ...
where mo.Cost <= 10000
と
var product = (from mo in myobject
... a few joins ...)
.AsQueryable()
.Where("Cost > 1000")