7

Linq to SQL の廃止について読んでいたところです。しばらくの間、Linq の学習をまったく延期しました。asp.net でも、私が最後に確認したとき、彼らのデータ アクセス チュートリアルでは、テーブル アダプターと bll クラスが使用されていました。次に、linq チュートリアルがあります。これを読んで、Entity Framework が新しい方法であるということは、私が 1 年半にわたって読んできたすべての Linq の「もの」、Linq の素晴らしさなどを意味するのでしょうか。ちょうどなくなった?物事を行うための正しい方法、または少なくとも MS 製品の標準的な方法に落ち着く人は誰もいないようです。そして、1 つの方法がすべてに適しているとは言えないことも理解しています。しかし、この特定のケースでは、なぜデータアクセスを解決できないのか理解できません。

それとも、Linq To SQL は Linq の ORM 部分にすぎませんか? ORM を使用したい場合、正確には何を学べばよいでしょうか? 私は StackOverflow でいくつかのことを読みましたが、何をすべきかを知るのに本当に役立つものはありません。

nHibernate は Microsoft のどの製品よりも優れているようです。はい、他にもあることは知っています(亜音速、およびその他はさまざまなSOの質問で言及されていました。)

ありがとうございました。

4

6 に答える 6

13

いいえ。

LINQ to SQL は、.NET 3.5 Framework で追加された基本的な言語機能の 1 つである LINQ の上に構築されています。

技術的には、他の ORM が独自の LINQ システムを実装できます。たとえば、NHibernate には既に LINQ to NHibernate が実装されています。これは、LINQ to XML、LINQ to Objects など、フレームワークで提供されるものの上にあります。

于 2009-03-30T15:00:03.117 に答える
10

Entity Framework が LINQ の廃止を意味するわけではありません。Entity Framework 自体が LINQ プロバイダーです。

LINQ はテクノロジの集合体であり、それ以上に独自のデータ プロバイダにも実装できるパターンです。

LINQ to SQL は、そのパターンの一例にすぎません。価値があるのは、LINQ to SQL が実際になくなるのではなく、重視されなくなっていることだと思いますが、わかります...

個人的には、そもそも LINQ to Objects が最も便利な LINQ プロバイダーだと思います :)

于 2009-03-30T15:02:19.820 に答える
5

Linq to sql は、世の中にある多くの linq プロバイダーの 1 つにすぎません (linq to db4o、linq to starcounter、linq to objects、linq to ado など、他にもたくさんあります)。エンティティ フレームワークには、エンティティへの linq と呼ばれる独自の linq プロバイダーがあります。linq についてのあなたの 1 年間の読書は失われません。

于 2009-03-30T14:59:44.663 に答える
2

LINQ は消えていません。LINQ to SQL もそうではありませんが、データ アクセスのための Microsoft の戦略的プラットフォームではありません。それは Entity Framework です。EF は LINQ to Entities を使用するため、LINQ について学習するのに時間を費やした場合でも、LINQ は有効で有用です。

ただし、LINQ は製品固有のテクノロジではありません。(ほぼ) すべての種類のコレクションでパワーと柔軟性を活用するのは簡単です。例えば。

List<MyType> myList = new List<MyType>();
// populate the list here
var filteredResults = from o in myList
                      where o.property == "hello world"
                      select o;

ここのコード例に欠陥があっても、(概念的には) 有効です。

于 2009-03-30T15:00:46.063 に答える