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

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


2
Linqからエンティティへの結合とグループ結合
ウェブで検索しましたが、それでも簡単な答えは見つかりません。誰かが(簡単な英語で)何を説明できますかGroupJoin?通常のインナーとどう違うのJoin?一般的に使用されていますか?それはメソッド構文専用ですか?クエリ構文はどうですか?C#のコード例がいいでしょう。

9
「ステートメント本体を持つラムダ式は式ツリーに変換できません」
EntityFrameworkを使用A lambda expression with a statement body cannot be converted to an expression treeすると、次のコードをコンパイルしようとするとエラー「」が発生します。 Obj[] myArray = objects.Select(o => { var someLocalVar = o.someVar; return new Obj() { Var1 = someLocalVar, Var2 = o.var2 }; }).ToArray(); エラーが何を意味するのか、そして何よりもそれを修正する方法がわかりません。何か助け?

5
LINQ SELECTで非同期待機
既存のプログラムを変更する必要があり、次のコードが含まれています。 var inputs = events.Select(async ev => await ProcessEventAsync(ev)) .Select(t => t.Result) .Where(i => i != null) .ToList(); しかし、これは最初のすべての使用の、私にとって非常に奇妙なようだasyncし、await選択します。スティーブン・クリアリーのこの回答によると、私はそれらを落とすことができるはずです。 次に、Select結果を選択する2番目。これは、タスクがまったく非同期ではなく、同期的に実行される(何もしないために多大な労力を要する)ことを意味しませんか?それとも、タスクは非同期的に実行され、完了したら残りのクエリが実行されますか? 私はに応じて次のように上記のコードを記述する必要がありステファン・クリアリーによって別の答え: var tasks = await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev))); var inputs = tasks.Where(result => result != null).ToList(); そしてそれはこのように完全に同じですか? var inputs = (await Task.WhenAll(events.Select(ev => ProcessEventAsync(ev)))) .Where(result => result != null).ToList(); このプロジェクトに取り組んでいる間、最初のコードサンプルを変更したいのですが、(適切に機能している)非同期コードの変更にはあまり熱心ではありません。多分私は何も心配していません、そして3つのコードサンプルはすべてまったく同じことをしていますか? …
180 c#  linq  asynchronous 

4
エンティティフレームワークlinqクエリInclude()複数の子エンティティ
これは本当に基本的な質問かもしれませんが、3レベル(またはそれ以上)にまたがるクエリを作成するときに複数の子エンティティを含めるための良い方法は何ですか? つまり、私は4つのテーブルを持っている:Company、Employee、Employee_CarおよびEmployee_Country 会社は従業員と1:mの関係があります。 従業員は、Employee_CarとEmployee_Countryの両方と1:mの関係にあります。 4つのテーブルすべてからデータを返すクエリを記述したい場合は、現在次のように記述しています。 Company company = context.Companies .Include("Employee.Employee_Car") .Include("Employee.Employee_Country") .FirstOrDefault(c => c.Id == companyID); よりエレガントな方法が必要です!これは長く巻き込まれ、恐ろしいSQLを生成します VS 2010でEF4を使用しています

17
最大またはデフォルト?
行を返さない可能性があるLINQクエリから最大値を取得する最良の方法は何ですか?私がやれば Dim x = (From y In context.MyTable _ Where y.MyField = value _ Select y.MyCounter).Max クエリが行を返さない場合、エラーが発生します。私はそれをできた Dim x = (From y In context.MyTable _ Where y.MyField = value _ Select y.MyCounter _ Order By MyCounter Descending).FirstOrDefault しかし、それはそのような単純な要求に対して少し鈍感に感じます。それを行うためのより良い方法がありませんか? 更新:これは裏話です:私は子テーブルから次の適格性カウンターを取得しようとしています(レガシーシステム、私を始めないでください...)。各患者の最初の適格性の行は常に1、2番目は2などです(明らかに、これは子テーブルの主キーではありません)。そこで、患者の既存の最大カウンター値を選択し、それに1を追加して新しい行を作成します。既存の子の値がない場合、クエリで0を返す必要があります(1を追加すると、カウンター値1が返されます)。レガシーアプリでカウンター値にギャップが生じる可能性があるため(可能な場合)、子行の生のカウントに依存したくないことに注意してください。質問を一般的すぎるようにしようとする私の悪い。
176 c#  .net  linq  linq-to-sql 

12
ToList()-新しいリストを作成しますか?
クラスがあるとしましょう public class MyObject { public int SimpleInt{get;set;} } そして、私はを持っていてList<MyObject>、ToList()それを変更してからの1つをSimpleInt変更すると、私の変更が元のリストに反映されます。つまり、次のメソッドの出力はどうなるでしょうか。 public void RunChangeList() { var objs = new List<MyObject>(){new MyObject(){SimpleInt=0}}; var whatInt = ChangeToList(objs ); } public int ChangeToList(List<MyObject> objects) { var objectList = objects.ToList(); objectList[0].SimpleInt=5; return objects[0].SimpleInt; } どうして? P / S:それを見つけることが明らかであると思われる場合は申し訳ありません。でも今はコンパイラを持っていない...
176 c#  linq 

11
空のクエリの場合の最大戻り値
私はこのクエリを持っています: int maxShoeSize = Workers .Where(x => x.CompanyId == 8) .Max(x => x.ShoeSize); maxShoeSize会社8に労働者がまったくいない場合はどうなりますか? 更新: 例外ではなく0を取得するためにクエリを変更するにはどうすればよいですか?

5
リスト内の個別の値のリストを取得する
C#で、3つのStringメンバー変数を持つNoteというクラスがあるとします。 public class Note { public string Title; public string Author; public string Text; } そして、私はタイプノートのリストを持っています: List<Note> Notes = new List<Note>(); 著者列のすべての個別の値のリストを取得する最もクリーンな方法は何でしょうか? リストを反復処理して、重複していないすべての値を別の文字列リストに追加することもできますが、これはダーティで非効率的です。これを1行で実行する魔法のLinq構造があるように感じますが、何も思いつきませんでした。
175 c#  linq  list  distinct 

11
LINQは大文字と小文字を区別しない
このコードは大文字と小文字を区別しますが、大文字と小文字を区別しないようにするにはどうすればよいですか? public IQueryable<FACILITY_ITEM> GetFacilityItemRootByDescription(string description) { return this.ObjectContext.FACILITY_ITEM.Where(fi => fi.DESCRIPTION.Contains(description)); }
174 c#  linq 

3
LINQでディクショナリ<T1、T2>を選択します
「select」キーワードと拡張メソッドをIEnumerable&lt;T&gt;使用してLINQ付きのを返しましたが、ジェネリックを返す必要があり、それをDictionary&lt;T1, T2&gt;理解できません。私がこれから学んだ例は、次のような形式の何かを使用しました: IEnumerable&lt;T&gt; coll = from x in y select new SomeClass{ prop1 = value1, prop2 = value2 }; 拡張メソッドでも同じことを行いました。上記の例の "SomeClass"を ""で置き換えるDictionary&lt;T1, T2&gt;ことができるようにaの項目を 反復できるため、それは機能しませんでした(キーと値が読み取り専用としてマークされていたため、このコードをコンパイルできませんでした) )。KeyValuePair&lt;T1, T2&gt;new KeyValuePair&lt;T1, T2&gt; { ... これは可能ですか、それとも複数のステップで行う必要がありますか? ありがとう。
171 c#  .net  linq  generics 


5
Linqを使用してオブジェクトのリストからプロパティの一意のリストを取得するにはどうすればよいですか?
Linqを使用して、IDがプロパティであるオブジェクトのリストを指定してIDのリストを返そうとしています。各オブジェクトをループして、見つけた一意のIDを引き出すことなく、これを実行できるようにしたいと思います。 MyClassタイプのオブジェクトのリストがあり、このクラスのプロパティの1つはIDです。 public class MyClass { public int ID { get; set; } } 私がしたいことは、それらのIDのリストを返すLinqクエリを作成することです idをIList&lt;MyClass&gt;返すような方法でそれを行うにはどうすればよいIEnumerable&lt;int&gt;ですか? MyClassリストの各項目をループして一意の値をリストに追加するのではなく、Linqを使用して1行または2行で実行できるはずです。 エレガントなソリューションを作成するための助けがあれば大歓迎です!
171 linq  class  list  c#-3.0  properties 


5
LINQ:「含む」とLambdaクエリ
とList&lt;BuildingStatus&gt;呼ばれていbuildingStatusます。文字コード(によって返されるGetCharCode())がある変数に等しいステータスが含まれているかどうかを確認したいのですが、v.Status。 以下の(非コンパイル)コードの行に沿ってこれを行う方法はありますか? buildingStatus.Contains(item =&gt; item.GetCharValue() == v.Status)
168 c#  .net  list  linq  lambda 

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