タグ付けされた質問 「linq」

言語統合クエリ(LINQ)は、.NET言語にネイティブデータクエリ機能を追加するMicrosoft .NET Frameworkコンポーネントです。[linq-to-sql]、[linq-to-entities] / [entity-framework]、[plinq]など、必要に応じてより詳細なタグの使用を検討してください


2
「フォールド」LINQ拡張メソッドはどこにありますか?
MSDNのLinqサンプルで、使用したいFold()と呼ばれるきちんとしたメソッドを見つけました。彼らの例: double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 }; double product = doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor); 残念ながら、私はこれを彼らの例でも自分のコードでもコンパイルすることができず、このメソッドについて言及しているMSDNの他の場所(EnumerableまたはArray拡張メソッドなど)を見つけることができません。私が得るエラーは、単純な古い「それについて何も知らない」エラーです: error CS1061: 'System.Array' does not contain a definition for 'Fold' and no extension method 'Fold' accepting a first argument of type 'System.Array' could be found (are you missing a …

5
LINQを使用してList <string>のすべての文字列を小文字に変換する方法
私は興味をそそるStackOverflowのこちらの応答の1つに昨日コードスニペットを見ました。それはこのようなものでした: List&lt;string&gt; myList = new List&lt;string&gt; {"aBc", "HELLO", "GoodBye"}; myList.ForEach(d=&gt;d.ToLower()); 私はそれを使用してmyList内のすべての項目を小文字に変換できることを望んでいました。しかし、それは起こりません...これを実行した後、myListの大文字小文字は変更されません。 したがって、私の質問は、LINQ式とLambda式を使用して、これと同様の方法でリストのコンテンツを簡単に反復して変更する方法があるかどうかです。 ありがとう、マックス
94 c#  linq  lambda  foreach 

11
要素の複数のコレクションを組み合わせるエレガントな方法?
それぞれに同じタイプのオブジェクトを含む任意の数のコレクションがあるとします(たとえば、List&lt;int&gt; fooおよびList&lt;int&gt; bar)。これらのコレクション自体がコレクション(例:タイプ)List&lt;List&lt;int&gt;&gt;である場合SelectMany、それらをすべて1つのコレクションに結合するために使用できます。 ただし、これらのコレクションがまだ同じコレクションにない場合は、次のようなメソッドを作成する必要があると思います。 public static IEnumerable&lt;T&gt; Combine&lt;T&gt;(params ICollection&lt;T&gt;[] toCombine) { return toCombine.SelectMany(x =&gt; x); } それから私はこのように呼びます: var combined = Combine(foo, bar); Combine上記のようなユーティリティメソッドを記述せずに、(任意の数の)コレクションを組み合わせる、クリーンでエレガントな方法はありますか?LINQでそれを行う方法があるべきであるほど十分に単純に思えますが、おそらくそうではありません。


3
LINQでInclude()は何をしますか?
私は多くの研究を試みましたが、私はよりdbの人です-したがって、MSDNでの説明でさえ、私には意味がありません。誰もが説明して、クエリに関してどのようなInclude()ステートメントがSQL実行されるかについていくつかの例を提供できますか?
93 sql  linq 

4
On句で複数の条件を使用したLINQ結合
ON句で複数の条件を持つ左外部結合を使用するクエリをLINQに実装しようとしています。 次の2つのテーブルProject(ProjectID、ProjectName)とTask(TaskID、ProjectID、TaskName、Completed)の例を使用します。すべてのプロジェクトとそれぞれのタスクの完全なリストを表示したいが、完了したタスクのみを表示したい。 フィルターを使用できませんCompleted == true。タスクが完了していないプロジェクトをフィルターで除外するためです。代わりにCompleted == true、プロジェクトの完全なリストが表示され、完了したタスクのみが表示されるように、結合のON句に追加したいと思います。タスクが完了していないプロジェクトでは、タスクの値がnullの単一行が表示されます。 これがクエリの基礎です。 from t1 in Projects join t2 in Tasks on new { t1.ProjectID} equals new { t2.ProjectID } into j1 from j2 in j1.DefaultIfEmpty() select new { t1.ProjectName, t2.TaskName } &amp;&amp; t2.Completed == trueon句に追加するにはどうすればよいですか? これを行う方法に関するLINQのドキュメントが見つからないようです。
93 linq  join 

10
C#-プロパティ名を文字列として使用してプロパティで並べ替えるコード
プロパティ名を文字列として持っている場合、C#でプロパティに対してコーディングする最も簡単な方法は何ですか?たとえば、ユーザーが選択したプロパティで検索結果を並べ替えることができるようにしたい(LINQを使用)。もちろん、文字列値として、UIの「orderby」プロパティを選択します。文字列をプロパティにマップするために条件付きロジック(if / else、switch)を使用せずに、その文字列をlinqクエリのプロパティとして直接使用する方法はありますか?反射? 論理的には、これが私がやりたいことです。 query = query.OrderBy(x =&gt; x."ProductId"); 更新:元々、Linq to Entitiesを使用していることを指定していませんでした-リフレクション(少なくともGetProperty、GetValueアプローチ)はL2Eに変換されないようです。

13
条件付きLinqクエリ
ログビューアに取り組んでいます。使用には、ユーザー、重大度などでフィルターするオプションがあります。SQLの日にはクエリ文字列に追加しますが、Linqでそれを実行したいと考えています。条件付きでwhere句を追加するにはどうすればよいですか?

6
MatchCollectionでのLINQ拡張メソッド構文の使用
私は次のコードを持っています: MatchCollection matches = myRegEx.Matches(content); bool result = (from Match m in matches where m.Groups["name"].Value.Length &gt; 128 select m).Any(); LINQ拡張メソッド構文を使用してこれを行う方法はありますか? このようなもの: bool result = matches.Any(x =&gt; ... );
92 c#  linq 

4
Action()から値を返す方法は?
この質問に対する回答について、DataContexting to Action()、action(db)から値を返すにはどうすればよいですか? SimpleUsing.DoUsing(db =&gt; { // do whatever with db }); もっと似ているはずです: MyType myType = SimpleUsing.DoUsing&lt;MyType&gt;(db =&gt; { // do whatever with db. query buit using db returns MyType. });
92 c#  .net  linq 

3
FirstOrDefault <KeyValuePair>が値を返したことをどのように確認できますか
これが私がやろうとしていることの簡単なバージョンです: var days = new Dictionary&lt;int, string&gt;(); days.Add(1, "Monday"); days.Add(2, "Tuesday"); ... days.Add(7, "Sunday"); var sampleText = "My favorite day of the week is 'xyz'"; var day = days.FirstOrDefault(x =&gt; sampleText.Contains(x.Value)); 「xyz」はディクショナリに存在しないため、FirstOrDefaultメソッドは有効な値を返しません。この状況をチェックしたいのですが、KeyValuePairが構造体であるため、結果を「null」と比較できないことに気付きました。次のコードは無効です: if (day == null) { System.Diagnotics.Debug.Write("Couldn't find day of week"); } コードをコンパイルしようとすると、Visual Studioから次のエラーがスローされます。 Operator '==' cannot be applied …
91 c#  linq 

3
「LINQ to Entities」、「LINQ to SQL」、「LINQ to Dataset」の違いは何ですか
私はかなり長い間、LINQで働いています。ただし、前述のLINQのフレーバーの実際の違いは少し謎です。 成功した答えには、それらの短い違いが含まれます。各フレーバーの主な目的は何ですか?利点は何ですか?パフォーマンスに影響があります... PS世の中にはたくさんの情報源があることは知っていますが、初心者に特定の目標に向けてどこに向かうべきかを指示する一種の「チートシート」を探しています。
91 c#  sql  linq  dataset  entities 


4
SQL Serverプロファイラーの「監査ログアウト」とは何ですか?
私は(C#/ Linqを使用して)データインポートを実行しており、当然ながらクエリを可能な限り最適化しようとしています。このために、SQLログイン名(データインポートプロセスに一意に関連付けることができる名前)でトレースをフィルター処理して、SQL Server Profilerを使用してDBでトレースを実行しています。 奇妙なことに、私のSQLステートメントのほとんどは本当に高速です:)-1msのマークを超えるクエリはほとんどありません。しかし、すべてのクエリの間には、EventClassが「Audit Login」または「Audit Logout」であるいくつかの行があり、「Audit Logout」の期間は最大1分です。 これは、インポートでトランザクションを使用しているという事実と関係がありますか?もしそうなら、私がそれらをきれいにすることができるように大きなヒットクエリを見つける方法はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.