問題タブ [predicatebuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
459 参照

c# - 繰り返し比較のための述語式関数

ほぼ 200 のケースをテストする述語ハンドラーがあり、各テストには 5 つの可能な比較が含まれます。このコードを簡素化したいのですが、これを構文的に表現する方法に壁にぶつかっています。

上記の switch ステートメントはほぼ 200 回繰り返されますが、それぞれのケースで異なるのは、チェックされるフィールド名だけです。このコードをできるだけ減らしたい。

0 投票する
2 に答える
2086 参照

linq-to-sql - NN結合を使用してPredicateBuilderを使用してLinqクエリを最適化する

Linqを使用してMSCRM2011Webサービスにクエリを実行しています。SQLが非常に貧弱になるクエリがあり、中間データを取得しすぎて、パフォーマンスがひどいです。私はそれに慣れていないので、それは私がそれを使用している方法である可能性が非常に高いです...

NN関係を介してリンクされた2つのエンティティがあります:ProductSalesLinkProduct私は彼らから彼らに関連するSerialNumberすべてのものと一緒にたくさんを取り戻したいですSalesLink

これは私がPredicateBuilderを使用しているクエリです:

SQLプロファイラーを使用すると、WHERE句のない中間SQLクエリが発生し、次のようになります。

これにより、大量の(役に立たない)データが返されます。結合はDB側ではなくクライアント側で行われると思います...

このクエリをどのように改善する必要がありますか?私は約3分で走りますが、それはまったく受け入れられません。

ありがとう。


"解決"

Linq to CRMの代わりにQueryExpressionを使用するというDarylの回答に基づいて、まったく同じ結果が得られるようになりました。

Linqを使用して解決策を見つけたかったのですが、LinqtoCRMはまだ存在しないようです...

0 投票する
1 に答える
706 参照

linq-to-entities - EF 5.0、PredicateBuilderおよびLinqKit

J.アルバハリ氏のLinqKitの使用を開始しましたが、 EF 5.0のリリースで注意すべき点や注意事項があるかどうか誰かが知っていますか?

EF 5.0とL2Eに、動的クエリを構築するためにPredicateBuilderクラスとAsExpandable()メソッドを異なる方法で使用する(または使用しない)ことを意味する大きな変更はありますか?

アドバイスありがとうございます。

0 投票する
2 に答える
1172 参照

linq - ジェネリック/ダイナミックlinq述語の子プロパティとリフレクションとの比較

EntityFrameworkLinqクエリの比較述語を一般的に作成する必要があります。リフレクションを使用しており、問題なく単一レベルのラムダ式を作成できます。しかし、私が行き詰まり始めているのは、関係のあるエンティティがあります

「Child.property」をReflectionに渡して、比較するラムダ式を作成し、item => item.Child.property == valueに似たラムダ式を作成するにはどうすればよいですか?

0 投票する
1 に答える
308 参照

sql - PredicateBuilderの使用についてサポートが必要

の使用について知る必要がありPredicateBuilderます。それを使用する方法のほとんどすべての例で、彼らは次のようにコードを示しています:

そのEmployeeオブジェクトは何ですか、大括弧と小括弧の間のオブジェクトですか?私はそれに頭を悩ませました。Linq to SQLエンティティを使用していますが、これを自分で試すとコンパイルエラーが発生します。エラーは次のようなものだと思います。

「Linqテーブルから...にキャストできません。」

私は初心者です。当たり前のことを聞いてくれて許してください。ありがとうございました。

0 投票する
2 に答える
1394 参照

c# - 複数のパラメーターから IQueryable (EF4) のクエリを作成する

フォームの述語のリストから単一の「Or」述語を作成しようとしていますList<Expression<Func<T, bool>>>

しかし、これは私のソースのすべての行を返していますか?

私が探しているテストのためにc=>c.FullName.Contains("Smith") or c=>c.FullName.Contains("Jones")

PredicateBuilderを使用するように修正しようとしましたが、それでもソース内のすべての行が返されます。

どんな援助も非常に感謝して受け取りました!

最終結果は、AND と OR を許可することです。
例: c=>c.FullName.Contains("Dav") AND c=>c.CustomerType == 'Staff'

0 投票する
1 に答える
720 参照

c# - 短い日付で動的ラムダ述語を作成する

リフレクションを介してラムダ式を構築するのに役立つ次のコードがあります。ただし、 a と比較しようとすると、値が完全なスタンプDateに変換されます。DateTime短い日付のみを比較するように述語を作成するにはどうすればよいですか?

Convert.ChangeType文字列を に変換しているのは であることはわかっていますが、必要なときにDateTimeが返されます。item => item.DateToCheck == 1/1/2012 12:00:00AMitem => item.DateToCheck == 1/1/2012

0 投票する
1 に答える
876 参照

asp.net-mvc-3 - C# Entity Framework と Predicate Builder - IQueryable / ページネーションの問題内で一致する行のインデックスを見つける

私はそのようなPredicateBuilderものを返す式を持っていますIQueryable(不自然な例):

CoolEntity次に、これを使用して、次のようなエンティティの MVC インデックス コントローラーを使用して、特定のページの結果のみを含むページ分割されたリストを生成します。

リポジトリを介して SQL データベースから返される何千ものレコードがあるため、このクエリにより、各ページに関連する結果のみが返されることが保証されます。それはうまく機能しています。

問題は、インデックスのページ分割されたページのどれを特定のエンティティに返す必要があるかを確認できるようにしたいということです。たとえば、私の CoolEntity オブジェクトの 1 つが 5 の ID を持っているとpageNumberします。そのエンティティがインデックス コントローラーに表示されるページ分割されたページをロードしたい場合、必要な値をどのように判断できますか?

具体的には、resultsID 5 のエンティティが 651 行目であることを確認するにはどうすればよいでしょうか。その結果、この番号を使用してpageNumber(つまりMath.Ceiling(651/pagesize)、同様のことを) 判断できますか? これに対するより良いアプローチはありますか?

0 投票する
2 に答える
1986 参照

zend-framework2 - Zend Framework 2 PDOの「好きではない」操作

どこで「好きではない」操作を行う必要があります。私はこれを行うことができることを知っています:

$predicate->like($a,$b);

しかし、「not like」やその他の否定された「not in」を実行する方法が見つかりません。方法はありますか、どこで文字列を作成する必要がありますか?

ありがとう。

0 投票する
2 に答える
1360 参照

c# - エンティティへのlinqと式の格納

私は、エンティティに対して動的なlinqクエリを使用するプロジェクトに取り組んでいます。私は膨大な量のケースを抱えており、コードの重複を避けるためにメソッドにリファクタリングしています。ただし、ストア式にないメソッドを使用すると、例外がスローされます。解決策の1つは、メソッドの結果を、linqで解釈してクエリを開始できる式にカプセル化することです。

そのコードを考えてみましょう:

「parentExpression」は、私のEFの「Parent」タイプの述語です。このコードは例外をスローします。「IsGoodChild」メソッドはブール値を返し、linqによってエンティティに解釈できません。

だから、私はこのようなものが欲しいです:

では、x.child属性を受け取らなくても、「IsGoodChild(...)」はどのように機能するのでしょうか。事前のThx


再、

このような式でラムダを直接書くとき、私は何かを試みます:

私はresharperからextractメソッドを使用し、これを生成しました:

しかし、.NETFrameworkデータプロバイダーエラー1025'エラーもあります...