問題タブ [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 に答える
961 参照

vb.net - PredicateBuilder + 結合 + VB.NET

3つのテーブルを含むデータベースがあります

PredicateBuilder を使用して、選択した製品フィールド (数量、製品名...) に従って製品を選択しています。PredicateBuilder またはその他の方法を使用して、そのサプライヤ名またはカテゴリ名に従って製品を選択するには

VB.NET を使用しています C# の例をたくさん見ましたが、理解も翻訳もできません predicateBuilder で join を使用することを考えていますが、方法がわかりません!!!!

より明確にするために、たとえば次のように、1回の検索で複数のフィールドを組み合わせることが必要です。

名前に「s」が含まれ、数量が 10 未満で、SupplierName が Kimo である製品を教えてください

名前に「g」のみが含まれる製品を教えてください

カテゴリ名「機械」の商品を教えてください

.

.

また、この検索述語は変更可能です。各 Products テーブルには多くのフィールドがあるため、選択したフィールドに応じて動的に検索されます。

あなたの親切な助けを待っています。

アリオンの答えは正しかったと思いますが、何らかの修正が必要ですとにかく私はこの解決策を思いつきました、それは最も効率的なものではありませんが、私の問題を解決しました.

. . . ケース「サプライヤー」

For Each it In q それと

それで、あなたはどう思いますか、より良い方法はありますか?もちろんそうですか?ばかげた質問ですが、どこで?

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

linq - Linq PredicateBuilder を使用したネスト OR

述語ビルダーを使用して、次のコードを記述しています。

生成された SQL は次のようになります (WHERE 句のみ)。

ID 48 が SQL で 2 回割り当てられたようです。なぜかわからない?

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

c# - Predicatebuilderで.Equals()を使用すると失敗する

こんにちは私は述語ビルダーを使用してwhere句を作成しています。エンティティデータソースに対して大文字と小文字を区別して比較していることに気付きました。いくつかの簡単なグーグルは、これがlinqtoentitiesの機能であることを意味します。だから私はするために私のコードを変更しなければなりませんでした

以前に行うのではなく

問題は、whereclauseの構築に失敗しているように見えることです。

ちなみに、以前は機能していた以下のコードを使用しています。

foreach(モデルのvarアイテム)を実行するコードがあります。クイックビューを使用してモデルを調べると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」で失敗します。

それよりも

結果に関係なく、以前に表示されたものです。

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

entity-framework - 述語を使用した Entity Framework

述語の使用を必要とする検索を作成中です。ただし、以下のクエリを実行するたびに、最後の述語の結果のみを取得し続けます。最初の結果は含まれません。以下の私のクエリに基づいて、誰もが私を正しい方向に向けることができます.

このクエリは、赤を含むキーワードまたは赤を含む名前または青を含むキーワードまたは青を含む名前を持つデザインをすべて引き戻すことになっています。

現在、このシナリオでは、最初の述語を無視し、青色の値のみを返します。

助けてくれてありがとう、ビリー

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

predicatebuilder - PredicateBuilder And または Or

述語ビルダーについて私が見たすべての例ではPredicateBuilder.True、「and」式基準をPredicateBuilder.False構築している場合と「or」式基準を構築している場合の開始式を示しています。

私の質問は、これは常に当てはまるのか、もしそうなら、なぜこれを単純に推測できないのかということです。「and」式を作成していて、false から始めたい場合があると思います。そして「または」の反対

誰かが私にこれを説明できますか?

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

entity-framework - 述語の問題を使用したEntity Framework

述語を使用して検索オプションを絞り込んでいますが、同じクエリのように見えるものを実行すると、2 つの異なる結果が得られます。

これは正しく、期待される結果を返します:(ハードコードされた文字列)

これは、2 番目の述語「geos」からの結果のみを返します。ループの最初のもの ("red") は無視されます。値「red」と「geos」は、以下のループ内にあります。

違いがある場合は、クエリの残りの部分を次に示します。

問題は、述語の 2 番目のリストを取得して、最初のシリーズと同じ結果を返す方法です。ハードコードされた値ではなく文字列変数を渡すときに、何か特別なことがあると思います。

ありがとう、ビリー

答え:

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

c# - Linq to XML 子のクエリを実行して親要素の属性値を取得する

Linq to XML Query を作成しようとしていますが、実際の解決策はまだ見つかりません。

ここに私のXMLがあります

使用できるパラメーターは PType ノードと SType ノード用で、これらの値に応じて、親ノードの属性値を取得する必要があります。

PredicateBuilder を使用してもさまざまなソリューションを試しましたが、成功しませんでした。どんな助けでも大歓迎です。

これがLinqPadを使用した最新のコードです。

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

c# - PredicateBuilder を使用したエンティティへの linq による動的クエリ

非常に単純なテーブルに対してクエリを実行しようとしていますが、結果が得られません。テーブルには、次の列を持つアクション ログが含まれています。

  • ID
  • ActionTypeID (作成、編集、または削除)
  • EntryID (作成/編集/削除されたエントリの ID)
  • TableName (アクションがコミットされた場所)
  • コントロール名
  • Person (アクションをコミットした人。nt-user with department)
  • 日にち

私が取得したかったのは、すべての EntryID のリストであり、ActionTypeID == 1 で、Person (部門) が文字列の動的リストの 1 つで終わります。問題は、アクション ログ内の 1 つの EntryID に対する最初のアクションのみをチェックして、これらの部門の 1 つと一致する必要があることです。

私はこれがかなり奇妙に聞こえることを知っています。これは、私の英語力の低さと、以前の同僚のデータベース設計の障害が原因である可能性があります。どっちが悪いのかわからない。

私が望んでいた結果を得るための私の試みはこれです:

しかし、これにより、「人」が選択した部門で終わるすべてのエントリが返されます。この EntryID で最初のエントリを確認したいだけです。

私が混乱したドイツ語から奇妙な英語に翻訳しようとしていることを誰かが理解してくれることを願っています.

あ、ちなみに.Net 3.5です

編集 正しい説明を見つけるのに問題があると思います-ダミーデータで試してみます。

私の例では、「'/department2' で終わる人は、新しい EntryID の最初の出現を作成しました」、「TableName == 'Contacts'」、および「ActionTypeID == 1」のログ エントリを検索します。受信したい結果は (EntryID のみ) 5 になります。これは、部門 2 のユーザーが最初に入力された唯一のエントリです。ActionTypeID 1 でこの EntryID を挿入します。私はこれがばかげていることを知っています。こんな風にはならなかったでしょうが、今は対処しなければなりません。クエリする部門の数が動的でない場合は、次のスニペットを使用します。

しかし、これらの動的な部門を愚かな設計 (および 1 つのエントリに対して複数の ActionTypeID 1 (作成) を使用する方法。アプリケーションがこれを保存する理由もわかりません) を接続する方法がわかりません。

ありがとう、ベン。

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

mysql - Predicate Builder を使用した MySQL が機能しない?

3 つのフィールドに基づく小さなフィルタリングを開発しています。MVC 3 プロジェクトでも MySQL コネクタを使用しています。

見栄えの良い PredicateBuilder http://www.albahari.com/nutshell/predicatebuilder.aspxを見つけました。しかし、MySQLでは動作していないようです

しかし、resultには 0 要素が含まれています。なんで ?

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

lucene - RavenDB と PredicateBuilder

PredicateBuilder クラスを使用して、RavenDB が解釈して使用できる WHERE 句を構築することは可能ですか? session.Query() と LuceneQuery を試しましたが、それぞれ失敗しました:

session.Query() の試みは次のとおりです。

これは実行時エラーです。

Lucene.Net.QueryParsers.ParseException: '( OR) OR' を解析できません: 行 1、列 2 で " "OR "" が見つかりました。

LuceneQuery() を試してみると、次のようになります。

のコンパイル時エラーが発生します。

エラー 2 'Raven.Client.IDocumentQueryBase>.Where(System.Func)' は廃止されました: ' Where(x=>x.Name == "Ayende") などのインメモリ フィルタを IDocumentQuery で発行することはできません。

編集:これは、最初の例で whereClause がどのように見えるかです:

{f => ((False OrElse Invoke(x => (Convert(x).EquipmentId == value(ReadFromRaven.Logic.Readers.RavenReader 1+<>c__DisplayClassa[WriteToRaven.Data.Marker]).tempCoater.MarkerEquipmentId), f)) OrElse Invoke(x => (Convert(x).EquipmentId == value(ReadFromRaven.Logic.Readers.RavenReader1+<>c__DisplayClassa[WriteToRaven.Data.Marker]).tempCoater.MarkerEquipmentId)), f))}

編集 2: これが WHERE 句の作成方法です

これは呼び出しです:

そして、これは BuildWhereClause() メソッドの署名と重要なメソッドの部分です: