-3

私は長い間私を困惑させてきた大きな質問があり、どこにも正直な答えを得ることができないようです。誰かが権威と良い例でこれに答えることができれば、それは役立つだけではないと確信しています私ですが、何千人もの開発者が来ます。私が知りたいのは、次の概念の特徴とそれらの違いは何ですか?

Linq

統合言語クエリからSQL

エンティティへのLinq

オブジェクトへのLinq

ラムダ式

また、特に、これらのような構成が上記のカテゴリに分類される場所を誰かに教えてもらえますか

コンストラクト1

var result = from n in nums
             where n < 5
             orderby n
             select n;

コンストラクト2

Entities.Person.Where(p => p.FirstName == "John").First();

あなたの学んだ説明が待ち望まれています。

4

1 に答える 1

3

ここにはいくつかの過度の単純化があると確信していますが、それだけの価値はあります。

Linqは、データセットを処理するために設計されたAPIです。IQueryableたとえば、System.Linq名前空間から取得されます。Linq to ...は、同じLinq命令を解析して、データの格納方法に基づいてさまざまな操作を実行するさまざまな実装です。したがって、Linq to SQLは命令を解析して、句.Whereを含むSQLクエリを生成しますが、Linq to Objectsは同じ命令を受け取り、を生成します。WHEREforeach

ラムダ式は、匿名デリゲートのほとんどの省略形です。ラムダは=>演算子で識別します。引数リストはの左側にあり、=>これらの引数にアクセスしてオプションで結果を返すことができる式は右側にあります。

2つのコード例は、Linqクエリを記述できる異なる構文です。これらは、それぞれクエリ構文およびメソッド構文と呼ばれます。

于 2012-06-27T10:09:56.563 に答える