0

可読性を向上させるために、コードで真のクエリ言語としてLINQを使用し始めています。最近まで、LINQ to SQLチームがEntityFrameworkチームの下に移動したため(ここでその会話を無視しようとしているため)、LINQに触れることを恐れていました-LINQクエリ言語は今後安全な賭けになります(これほど高速なものと同じくらい)引っ越し業界)?

4

2 に答える 2

5

「LINQ」と「特定のLINQプロバイダー」を区別する価値があります。LINQ自体はここにとどまっていると言っても過言ではありません。これは、LINQtoObjects介したインプロセスコレクション処理に非常に役立ちます。

どのLINQプロバイダーが(もしあれば)「勝つ」かについては、それを呼び出すのは難しいでしょう。

私は確かにLINQ自体の基礎を学びます-そしてLINQtoXMLも素敵なXMLAPIです。

于 2009-03-06T20:13:26.280 に答える
3

Jonが言ったように、LINQプロバイダーを区別することは非常に重要です。例えば

  • オブジェクトへのLINQ:これはIEnumerable <T>に基づいており、BCLに深く根付いているため、これがどこにでも行くのは非常に難しいと思います
  • LINQ to SQL:LINQほど使用していませんが、フォロワーが多く、人々が気に入っているようです。

警告:私はLINQに取り組んだので、ここではかなり偏見があります。

LINQの本当に優れている点は、私たちが本当に正しかったと思うことですが、誰でもLINQプロバイダーを作成できるということです。必要なのは正しい名前のいくつかのバインド可能なメソッドだけで、突然クエリ構文ができます。

var query = from it in someCollection select it.SomeProperty;

3.5フレームワークを使用せずにこのステートメントを記述できます。2.0フレームワークに対して機能し、コンパイラで使用されるクエリ構文と互換性のある独自のLINQプロバイダーがあります

私は個人的にラムダ/拡張メソッドsynatxに傾倒していますが、結果のコードは実際には違いはありません。

于 2009-03-06T20:22:31.843 に答える