問題タブ [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.
linq-to-entities - EF5での動的述語構築
Ok、
EF5の既知のエンティティから不明な数の列を選択し、不明な数の列でフィルタリングする述語を作成する必要があります。そのうちの1つは常に子コレクションの名前になります。
だからこれは私が最終的にする必要があるものです
しかし、式の述語を構築する方法がわかりません
選択する列とフィルターするフィールドは文字列の配列として提供され、この場合、フィルターには常にが含まれます。
私は述語の作成に精通していますが、それは問題ではありません。これまで子コレクションを調べる必要がなかっただけでなく、その日の完全な「WTF」ポイントにいます:-)
正しい方向へのすべてのプッシュが最も適切です。
c# - Linq を使用してエンティティのリストにすべてのプロパティが存在するかどうかを検索する
次のエンティティがあります。
そしてタグエンティティ:
上記のように、タグは文字列として保存されるだけで再利用されません。これにより、エンティティがタグを共有しているかどうかを判断するのが少し難しくなりました (そして遅くなりました)。
エンティティにタグのいずれかが含まれているエンティティのリストを返すための作業検索があります。
ここで、リスト内のすべてのタグを含むエンティティのリストも返す必要があります。非プロパティ変数を Contains メソッドに渡すことはできないため、all を使用して呼び出しの順序を逆にすることはできませんが、これは基本的に私が達成しようとしていることです。
タグのリストでエンティティをフィルタリングするときに一般的なパフォーマンス上の利点を提供するタグを再利用するように DB スキーマを修正する必要があるところまで来たと思いますが、それでも次の質問をしたかったのです。
- 私はこれを複雑にしすぎていますか、これを達成する単純なLinqステートメントがありますか、または、
- これは、述語ビルダーを使用して基準を設定する必要があるものですか?
c# - LinqKit PredicateBuilder はすべての行または非行を返します
LinqKitのPredicateBuilderを使用して、Linq 式では不可能な OR 条件で述語を作成し始めています。
私が直面している問題はPredicateBuilder.True<MyEntity>()
、使用する式を除いて、最初からすべての行を返し、最初から行以外を返すPredicateBuilder.False<MyEntity>()
ことです! 以下のコードを見てください。
IsActive == true の行を返す必要がありますが、すべての行が返されます!
PredicateBuilder.True
|のすべての可能な組み合わせを試しました。|PredicateBuilder.False
で メソッド、それらのどれも機能しません!And
Or
c#-4.0 - 誰かがこのC#コードをさらに説明できますか
http://www.albahari.com/nutshell/predicatebuilder.aspxの PredicateBuilder クラスを使用しています
この拡張メソッドは、OR 演算子を使用して Predicates をチェーンしています。ページには、説明が書かれています
最初の式のパラメーターを使用して 2 番目の式を呼び出すことから始めます。Invoke 式は、指定された式を引数として使用して、別のラムダ式を呼び出します。最初の式の本体と 2 番目の式の呼び出しバージョンから条件式を作成できます。最後のステップは、これを新しいラムダ式でラップすることです。
たとえば、私が持っている場合
説明がよくわかりませんでした。上記の拡張メソッドのコードがどのように機能しているかを誰か説明してもらえますか? ありがとう
.net - Ideablade 述語の説明を使用して where 句に複数の And および Or を追加する方法
ideablade の Predicate Description の where 句に複数の Or および And 操作を追加するにはどうすればよいですか。元。
上記のように Or 演算子を に追加しようとしましたCompositePredicateDescription
が、機能していません
次のクエリを実行したい -
Select * from Tabel1 where t.field1=1 and t.field2=1 and t.field3=1 Or ( t.field4=1 and t.field5=1) Or (t.field6=1 and t.field7=1)
ideablade を使用して上記のクエリを実行するにはどうすればよいですか。
c# - リストの動的LinqクエリPredicateBuilderを使用する
私はC#2010 .NET 4.0を使用しており、動的LINQクエリを構築する必要があるというList<T>
コレクションがあります。returns
ここで参照されている述語ビルダーを利用しています。
これは、フィルター基準が1つある場合は正常に機能しますが、2つ以上ある場合は、query.compile()
が呼び出されると、次のエラーが発生します。
タイプ'Check21Tools.IncomingReturn'の変数'tmp'がスコープ''から参照されていますが、定義されていません
コード:
コード:
c# - 内部外部を含む Predicatebuilder グループまたはクエリ
うまく機能する非常に単純な述語ビルダー クエリがあります。検索するキーワードのリストがあり、それらのキーワードをループして、オブジェクト プロパティのいずれかが一致するかどうかを確認します。
...さらに下に私はします:
そして、必要なものを取得します。検索したキーワードを持つものだけにフィルターをかけます。
エンティティの特定のプロパティ内のすべてのキーワードを検索するように、これを変更する必要があります。したがって、「メモ」フィールドには検索対象の各キーワードが含まれている必要があります。または、「説明」フィールドには検索対象のすべてのキーワードが含まれている必要があります。これには内部/外部述語が関係していると思いますが、思いつきませんでした。私が試した結果が多すぎます。結果は 1 つしかないはずです... 他のエンティティは条件に一致しません。私の問題は明らかですか?私のキーワード (そのうちの 6 つ) は非常にユニークです。
次に、次のことを行います。
そして、述語を正しくするにはあまりにも多くの結果が得られます。
c# - C#では、分散をラムダ式に適用するエレガントな方法はありますか?
私のアプリケーションは、Predicate Builder を使用して多基準検索を容易にします。これらの基準の 1 つにより、ユーザーが家に必要なバスルームの数を指定できるとします。
Predicate Builder を使用して、データベースから、ユーザーが指定した数の寝室を持つ家を取得できます。
ユーザーが入力したバスルームの数が +/- 1 である家を返したいとします。したがって、2 を入力すると、バスルームが 1、2、3 の住宅が適用されます。
達成できる唯一の方法は次のとおりですか?
または、上記でも機能しますか?
c# - PredicateBuilder の違いおよび PredicateBuilder?
私はコードを持っています:
がある場合はPredicateBuilder.True<Value>()
期待どおりの結果が返されますが、 がある場合はPredicateBuilder.False<Value>()
0 レコードが返されます。誰かが違いを説明できますか? また、あるシナリオでは 0 レコードが返され、別のシナリオでは期待どおりの結果が得られる理由を説明できますか? すでにドキュメントを読みましたPredicateBuilder
が、少し混乱しました。私がAnding
述語であるという事実と関係があると感じていますか?