問題タブ [dynamic-linq]

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 投票する
3 に答える
17494 参照

c# - 動的 LINQ GroupBy 複数の列

次の LINQ クエリを、ユーザー入力に基づいて複数のグループ化列を受け入れる動的 LINQ に変換する必要があります。基本的に、グループ化を適用するドロップダウンリストがたくさんあり、グループ化のすべての組み合わせを列挙したくありません。動的 LINQ が失敗した場合、手動で SQL クエリを作成する必要があるかもしれませんが、誰もそれを望んでいません。

Dynamic LINQ は "hello world!" 以外ではまったく文書化されていないため、これを行う方法がわかりません。select/where/orderby ケース。私はちょうど構文を理解することはできません。

何かのようなもの:(?)

System.Linq.Dynamic で DynamicQueryable クラスを使用しています。参照: http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

フォローアップ: エニグマティビティの解決策は、ほとんどの場合うまくいきました。何らかの理由で、日時の「StartOfWeek」列でグループ化したくない - 回避策は、二次グループ化を行うことです:

しかし、これはパフォーマンスを著しく低下させるようです... =/

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

c# - LINQ to MySQL (DbLinq) と Dynamic LINQ を使用したソート可能な JqGrid - Orderby が機能しない

JqG​​rid でのエントリの並べ替えに問題があります。Orderby が機能しないようです。コードにブレークポイントを設定したところ、orderby が要素の順序を変更しないことに気付きました。何が間違っている可能性がありますか?

MySQL (DbLinq プロジェクト) で LINQ to SQL を使用しています。

私のアクションコード:

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

.net - 動的統合言語クエリ

結果セットに含まれる列の1つを実行時にユーザーが入力する場所を実行するクエリがあります。そして、実行時まで、彼が選択できる列の数はわかりません(彼は、さまざまな数の列を含むことができるファイルをアップロードします)。列のインデックスが動的であるクエリを記述したいと思います。この種のクエリを実行するための最良の方法は何ですか?

ありがとう。

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

c# - 複雑なオブジェクトで動的 LINQ を使用して並べ替える

動的 LINQ を使用して並べ替えを実行するオブジェクトのリストがあります。

オブジェはこんな感じ。

そして、これを並べ替えるために Dynamic Linq ライブラリを使用します。

リストの有効なプロパティ名( Vendor など)でソートキーを渡すと、これは正常に機能します

問題は、複雑なオブジェクトに対してこれを行う方法です。

SampleDTO のプロパティである別のオブジェクトがあるとします。

また、SampleDTO の直接のプロパティまたは OtherDTO のプロパティから並べ替えることができるように、並べ替えを十分に動的にしたい場合 (たとえば、 OtherDTO.LineId で並べ替える必要があります)

これを達成するための可能な方法は何ですか?

/BB

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

c# - 汎用オブジェクトの動的LINQ(ハードコードされたプロパティなし)

辞書を使用してプロパティを格納する汎用オブジェクトがあります。

次に、特定のエントリを見つけるためにObjListをクエリする必要があります。動的LINQ(動的LINQ(パート1:LINQ動的クエリライブラリの使用))は完璧に見えますが、私が見る限り、オブジェクトには事前定義されたプロパティが必要です。

次のようなクエリを実行します。

すべてのトークン(名前、年齢など)は「GetValue」を呼び出す必要があります。助言がありますか?

明らかに、whereステートメントは完全にユーザー次第であり、修正されていません。

0 投票する
4 に答える
837 参照

c# - 動的Linq:StringComparisonタイプを指定する方法は?

クライアントブラウザから送信された並べ替えフィールドのコレクションに基づいて、データセットのカスタムフィルタリングと並べ替えを行っており、Dynamic Linqを使用して(ほとんどの)目的の効果を実現しています。問題が発生しているのは、従来の文字列と文字列として格納されている数値の両方を含むString型の列で並べ替えようとしたときです。StringComparison列挙値を渡したり、DynamicLinqorderby関数にIComparerパラメーターを指定したりできないようです。

私のソートコードは次のようになります:

私は最終的に:

それ以外の:

誰かが似たようなことをした経験はありますか?

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

c# - Linq to SQL - 実行時の複数の where 句

これを達成しようとしていますが、クエリの実行時に最初の where 句のみが使用されます。

これは for .Net 3.5 で必要になるため、4.0 の WhereIf は使用できません。

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

linq-to-entities - Dynamic LINQ .Contains() スロー タイムアウトの期限が切れました。エラー

こんにちは、
vb.net 3.5 Web サイトの sql 2008 データベースからデータをエクスポートするために、このクエリに取り組んでいます。最初のクエリの後に動的 linq を使用して、日付、州、国、専門分野、所属病院に基づいて結果をフィルター処理しています。

これらのフィルターのそれぞれは、クエリで特異値を持ちます。カンマ区切りのリストを持つ病院の所属を除きます。例: OSUMC、西病院、東病院

フィルタリングするときは、.Contains を実行して、カンマ区切りのリストに特定の病院が含まれているかどうかを確認する必要があります。例: (OSUMC, HospitalWest, Hospital East).contains("OSUMC")

Date、State、Country、および Specialty でフィルタを実行すると、クエリは問題なく実行されます。ただし、.Contains() フィルターである病院所属のフィルターを追加すると、タイムアウト エラーが発生します。

説明:現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.Data.SqlClient.SqlException: タイムアウトが発生しました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。

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

c# - DataGrid、MVVM、Dynamic LINQ のフィルタリング

MS Access フィルターが機能するように DataGrid アイテムをフィルターするにはどうすればよいですか (マウスでセルの一部を選択し、[フィルター] ボタンを押すだけです)。

ViewModel MyViewModel には 2 つのコマンド (Filter と ClearFilter) があり、ObservableCollection にはメソッド GetItems(...); を持つ Model があります。

DataGrid CellEditEnding イベントで、選択したパスと列名を保存します。

したがって、2 つのパラメーターがあります。並べ替えが必要な T オブジェクトのプロパティ名とフィルター値 (どちらも typeof String) です。

モデルのメソッド GetItems をどのように変更すればよいですか。メソッド Model.GetItemws は、EntityFramework を使用して、データベースからアイテムをクエリします。このクエリにフィルターを適用するにはどうすればよいですか? また、このクエリを作成するにはどうすればよいですか? いくつかの動的 LINQ/式

この myFilter をどこでどのように作成すればよいですか?

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

c# - 不明な型で DynamicExpression を実行する

誰かが Linq.Dynamic 名前空間に非常に精通している場合、私は助けを借りることができます.インターネット上で詳細なリソースを見つけることができませんでした.

基本的には DynamicExpression.ParseLambda を使用して、コンパイル時に型がわからない式を作成していますが、

QueryFilter の場所:

これは、「Age > 15」などの単純なバイナリ関数を表します。

これが「GetExpression」関数の仕組みです。入力型と出力型の 2 つの型を取り、最終的に Func デリゲートで通常作成されるものを生成します。また、クエリを表す文字列と、値の params object[] も受け取ります。これらはそれぞれ、上記の「expressionString」と「values」です。

ただし、SqlMetal (.dbmc ファイル) から生成された DataContext を使用して、LINQ-to-SQL で動的式を実行するのに問題があります。

次のエラーが発生します。

「Where」の定義と最適な拡張メソッドのオーバーロードが含まれていません

には無効な引数があります。

私の DataContext インスタンスが実際に SQL テーブルをプロパティとして扱うことはわかっています...これが機能するためには、GetProperty() を反映する必要がありますか? または、別の .Where 拡張子を作成する必要があるのでしょうか?