問題タブ [linq-query-syntax]

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 に答える
354 参照

c# - Linq2Sql C#式を使用して複雑な式を使用して結合する方法

このようなクエリを実装する必要があります。C#のLinq2Sqlステートメントでは、次のように記述できます。

しかし、C#式を使用してこれを行う方法は疑問です。私はこのようなものを意味します:

Joinメソッドはequaljoinのみを使用する機会を与えることがわかりますf1.Id == f2.Id。しかし、C#式でより複雑なクエリ式を記述する方法。たとえば、?などの式はどこにありf1.Id < f2.Idますか?

0 投票する
3 に答える
658 参照

c# - どちらが速いですか: クエリ構文とループ

次のコードは、合計が 100 未満の整数のペアを生成する 2 つのアプローチを提供し、それらは (0,0) からの距離に基づいて降順に並べられます。

このコードは Bill Wagner 著『Effective C#』の項目 8 から引用したものです。この記事全体で、著者はコードの構文、コンパクトさ、読みやすさに重点を置いていますが、パフォーマンスにはほとんど注意を払っていません。議論しなかった。

だから私は基本的に知りたいのですが、どちらのアプローチが速いですか? 通常、(一般的に) パフォーマンスが優れているのはどれですか: クエリ構文または手動ループ?

参考文献があれば、それらについて詳しく説明してください。:-)

0 投票する
6 に答える
14446 参照

c# - 文字列を LINQ クエリに解析する

LINQ 文字列をクエリに解析するためのベスト プラクティスと見なされる方法はどれですか?

言い換えれば、変換するのに最も理にかなっているアプローチは次のとおりです。

の中へ

ローカル スコープ内のorをsource参照すると仮定します。IEnumerable<Element>IQueryable<Element>

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

c# - linqを使用したグループによるC#オブジェクトの並べ替え

特定のプロパティでグループ化されたオブジェクトのリストがあります。このリストを他のプロパティに基づいて並べ替える必要がありますが、常にグループ化を保持する必要があります。たとえば、リストが次のようなものである場合:

部品番号の昇順で並べ替えた後の結果は次のようになります。

各グループの最小PartNumber(またはソートが降順の場合は最大)でソートしますが、IDでグループ化したままにする必要があります。.OrderBy()と.GroupBy()のさまざまな組み合わせを試しましたが、必要なものが得られないようです。

0 投票する
3 に答える
993 参照

vb.net - LINQ to SQL の「複雑な」選択

私は国=>リーグ=>チーム(名前、スコア)を持っています

国からすべてのチームの Name-Scores を選択する必要があります。

このようなものは機能しません)

query = from ligue in myCountry.Ligues, from team in ligue.Teams select name = team.Name , score = team.Score distinct

編集:

VB.NET 構文が推奨されます。

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

linq - Linq: 演算子が Expression 型の述語を理解しないクエリ構文

Expression<Func<User, bool>>次のようなタイプのオブジェクトとして仕様を定義しました。

これは、拡張メソッド構文で記述されたクエリで驚くほど機能します。

しかし、Linq クエリ構文ではそうではありません:

コンパイラは私に与えますcannot implicitly convert type 'Expression<Func<User, bool>>' to 'bool'

何を与える?私は、Linq クエリ構文は、拡張メソッド構文をドレスアップしたかわいい DSL だと思っていました。私の素敵な仕様をLinqクエリ構文でどのように使用できるか誰か教えてもらえますか?

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

c# - LINQ - クエリ構文 vs メソッド チェーン & ラムダ

LINQ 拡張メソッドの 1 つの中で LINQ クエリ構文または Lambda 式のいずれかを使用することを選択するときに、誰かが何らかの規則に固執しますか (または、雇用主によって何らかの規則に固執することを強制されますか?)。これは、エンティティ、SQL、オブジェクトなど、あらゆるものに適用されます。

私たちの職場では、上司はラムダがまったく好きではなく、何にでもクエリ構文を使用していましたが、場合によっては読みにくいと感じました。

たぶん、条件を追加するときに、私が見つけた Lambda が少し乱雑になります。

興味深いことに、コンパイラはこれをどのように扱いますか? 上記のLINQクエリがラムダにコンパイルされる方法を知っている人はいますか? Nameプロパティは要素ごとに呼び出されますか? 代わりにこれを行うと、パフォーマンスが向上する可能性がありますか? これは、ラムダがパフォーマンスの点でわずかに制御可能であることを意味しますか?

確かに、より多くの式を使用し始めると、ラムダが乱雑になり、ここでクエリ構文を使用するようになります。

また、クエリ構文では実行できないことがいくつかあります。それらのいくつかは本当に単純だと思いますが (特に集計関数)、いいえ、LINQ 拡張メソッドの 1 つを最後に追加する必要があります。これは、ラムダ式を使用すると見栄えがよくなります。

いくつかの単純なラムダ チェーンについても、ReSharperはそれらを LINQ クエリに変換することを提案しています。

他の誰かがこれに追加できますか?独自の小さなルールを持っている人はいますか? または、会社がルールの使用を提案/強制していますか?

0 投票する
3 に答える
466 参照

.net - LINQ クエリの複数の from セレクターの意味は何ですか

LINQ クエリで複数の from 句を見たことがありますが、それが TSQL ステートメントにどのように対応するかはわかりません。

それは何をしますか?

それはSQLに変換されますSELECT * FROM products, departments, somethingか?

また、selectこの場合の は常に であると想定されていますSelectManyselectが実際に であることをどのように知ることができSelectManyますか?

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

c# - LINQ - メソッドとクエリ構文の違い

私は DataTable を扱っていて、Resharper がループを LINQ 式に変換できることを推奨していることに気付きました。私はそうしましたが、クエリ式の構文(簡略化)で書き直されました:

個人的には、メソッドの構文が好きなので、次のように書き直しました。

そして壊れた。

'System.Data.DataRowCollection' には 'Select' の定義が含まれておらず、タイプ 'System.Data.DataRowCollection' の最初の引数を受け入れる拡張メソッド 'Select' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか? ?)

クエリ式はメソッド呼び出しに変換されるため、最初の式は機能するのに 2 番目の式は機能しないのはなぜですか? 両方が機能するか、どちらも機能しないことを期待していましたが、明らかにそうではありません。

0 投票する
3 に答える
2115 参照

linq - Linq のネストされた内部結合

次のテーブルに参加したい

最初に B_Book と BI_BookInstance を結合し、次に両方の結果を BookCategory で結合します。(1 番目の結合)[B_BID は BI_BID と等しい] (2 番目のネストされた結合)[1 番目の結合の結果 B_CategoryID は BC_CategoryID と等しい]

編集

SQL は次のようなものになります。