問題タブ [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.
c# - 繰り返し比較のための述語式関数
ほぼ 200 のケースをテストする述語ハンドラーがあり、各テストには 5 つの可能な比較が含まれます。このコードを簡素化したいのですが、これを構文的に表現する方法に壁にぶつかっています。
上記の switch ステートメントはほぼ 200 回繰り返されますが、それぞれのケースで異なるのは、チェックされるフィールド名だけです。このコードをできるだけ減らしたい。
linq-to-sql - NN結合を使用してPredicateBuilderを使用してLinqクエリを最適化する
Linqを使用してMSCRM2011Webサービスにクエリを実行しています。SQLが非常に貧弱になるクエリがあり、中間データを取得しすぎて、パフォーマンスがひどいです。私はそれに慣れていないので、それは私がそれを使用している方法である可能性が非常に高いです...
NN関係を介してリンクされた2つのエンティティがあります:Product
とSalesLink
。Product
私は彼らから彼らに関連するSerialNumber
すべてのものと一緒にたくさんを取り戻したいですSalesLink
。
これは私がPredicateBuilderを使用しているクエリです:
SQLプロファイラーを使用すると、WHERE句のない中間SQLクエリが発生し、次のようになります。
これにより、大量の(役に立たない)データが返されます。結合はDB側ではなくクライアント側で行われると思います...
このクエリをどのように改善する必要がありますか?私は約3分で走りますが、それはまったく受け入れられません。
ありがとう。
"解決"
Linq to CRMの代わりにQueryExpressionを使用するというDarylの回答に基づいて、まったく同じ結果が得られるようになりました。
Linqを使用して解決策を見つけたかったのですが、LinqtoCRMはまだ存在しないようです...
linq-to-entities - EF 5.0、PredicateBuilderおよびLinqKit
J.アルバハリ氏のLinqKitの使用を開始しましたが、 EF 5.0のリリースで注意すべき点や注意事項があるかどうか誰かが知っていますか?
EF 5.0とL2Eに、動的クエリを構築するためにPredicateBuilderクラスとAsExpandable()メソッドを異なる方法で使用する(または使用しない)ことを意味する大きな変更はありますか?
アドバイスありがとうございます。
linq - ジェネリック/ダイナミックlinq述語の子プロパティとリフレクションとの比較
EntityFrameworkLinqクエリの比較述語を一般的に作成する必要があります。リフレクションを使用しており、問題なく単一レベルのラムダ式を作成できます。しかし、私が行き詰まり始めているのは、関係のあるエンティティがあります
「Child.property」をReflectionに渡して、比較するラムダ式を作成し、item => item.Child.property == valueに似たラムダ式を作成するにはどうすればよいですか?
sql - PredicateBuilderの使用についてサポートが必要
の使用について知る必要がありPredicateBuilder
ます。それを使用する方法のほとんどすべての例で、彼らは次のようにコードを示しています:
そのEmployee
オブジェクトは何ですか、大括弧と小括弧の間のオブジェクトですか?私はそれに頭を悩ませました。Linq to SQLエンティティを使用していますが、これを自分で試すとコンパイルエラーが発生します。エラーは次のようなものだと思います。
「Linqテーブルから...にキャストできません。」
私は初心者です。当たり前のことを聞いてくれて許してください。ありがとうございました。
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'
c# - 短い日付で動的ラムダ述語を作成する
リフレクションを介してラムダ式を構築するのに役立つ次のコードがあります。ただし、 a と比較しようとすると、値が完全なスタンプDate
に変換されます。DateTime
短い日付のみを比較するように述語を作成するにはどうすればよいですか?
Convert.ChangeType
文字列を に変換しているのは であることはわかっていますが、必要なときにDateTime
が返されます。item => item.DateToCheck == 1/1/2012 12:00:00AM
item => item.DateToCheck == 1/1/2012
asp.net-mvc-3 - C# Entity Framework と Predicate Builder - IQueryable / ページネーションの問題内で一致する行のインデックスを見つける
私はそのようなPredicateBuilder
ものを返す式を持っていますIQueryable
(不自然な例):
CoolEntity
次に、これを使用して、次のようなエンティティの MVC インデックス コントローラーを使用して、特定のページの結果のみを含むページ分割されたリストを生成します。
リポジトリを介して SQL データベースから返される何千ものレコードがあるため、このクエリにより、各ページに関連する結果のみが返されることが保証されます。それはうまく機能しています。
問題は、インデックスのページ分割されたページのどれを特定のエンティティに返す必要があるかを確認できるようにしたいということです。たとえば、私の CoolEntity オブジェクトの 1 つが 5 の ID を持っているとpageNumber
します。そのエンティティがインデックス コントローラーに表示されるページ分割されたページをロードしたい場合、必要な値をどのように判断できますか?
具体的には、results
ID 5 のエンティティが 651 行目であることを確認するにはどうすればよいでしょうか。その結果、この番号を使用してpageNumber
(つまりMath.Ceiling(651/pagesize)
、同様のことを) 判断できますか? これに対するより良いアプローチはありますか?
zend-framework2 - Zend Framework 2 PDOの「好きではない」操作
どこで「好きではない」操作を行う必要があります。私はこれを行うことができることを知っています:
$predicate->like($a,$b);
しかし、「not like」やその他の否定された「not in」を実行する方法が見つかりません。方法はありますか、どこで文字列を作成する必要がありますか?
ありがとう。
c# - エンティティへのlinqと式の格納
私は、エンティティに対して動的なlinqクエリを使用するプロジェクトに取り組んでいます。私は膨大な量のケースを抱えており、コードの重複を避けるためにメソッドにリファクタリングしています。ただし、ストア式にないメソッドを使用すると、例外がスローされます。解決策の1つは、メソッドの結果を、linqで解釈してクエリを開始できる式にカプセル化することです。
そのコードを考えてみましょう:
「parentExpression」は、私のEFの「Parent」タイプの述語です。このコードは例外をスローします。「IsGoodChild」メソッドはブール値を返し、linqによってエンティティに解釈できません。
だから、私はこのようなものが欲しいです:
では、x.child属性を受け取らなくても、「IsGoodChild(...)」はどのように機能するのでしょうか。事前のThx
再、
このような式でラムダを直接書くとき、私は何かを試みます:
私はresharperからextractメソッドを使用し、これを生成しました:
しかし、.NETFrameworkデータプロバイダーエラー1025'エラーもあります...