2009-03-30 10 views
7

私はLinqについて、SQLが中止されるまで読んでいました。しばらく私はLinqを学ぶのをやめました。 asp.net上でさえ、私が最後にチェックしたとき、彼らのデータアクセスチュートリアルはテーブルアダプタとbllクラスを使用していました。次に、linqチュートリアルがあります。これを読んで、Entity Frameworkは新しい方法です。これは、私が1年半半読んでいるLinqの「もの」、それがいかに素晴らしいかなどを意味します。ただ行った?誰も、MS製品を使って、あるいは少なくとも標準的なやり方で、正しいやり方で解決する人は誰もいません。そして、私はあなたがすべてのために一つの方法が正しいと言うことができないことを理解します。しかし、この特定のケースでは、データアクセスに何らかの決着ができない理由を理解していません。LinqToSQLはLinqと同じですか?

また、LinqのORM部分だけをSQLにするLinqですか? ORMを使用したいと思ったら、今私は今何を学びますか?私はStackOverflowでいくつかのことを読んだことがありますが、本当に私が何をすべきかを知るのに役立つものはありません。

nHibernateは、Microsoftの選択肢より優れているようです。はい、私は他のものがあることを知っています(亜音速で、他はさまざまなSOの質問で言及されました)。

ありがとう。

答えて

13

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

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

+0

LINQ to Twitterなど、数多くのプロバイダがあります。私はこれが誰かに役立つと敢えて言います。 :) – ZombieSheep

+0

LINQにツイッターで!私はそれを探す必要があります。 :P –

+0

http://www.codeplex.com/LinqToTwitter * sigh * - 私はちょっと内側で亡くなりました。 ;) – ZombieSheep

3

LinqはLinq-to-SQLよりもはるかに優れています。例えば、Linq-to-ObjectsやLinq-to-XMLのようなものがこの技術の一部です。

私は彼らが去って行くのではないかと疑います!指が交差した。 ;-)

5

Linq to sqlは、多くのlinqプロバイダのうちの1つです(linqからdb4oへ、linqからstarcounter、linqからオブジェクトへ、linqからadoへ、その他多く)。エンティティフレームワークには、entitiesへのlinqという独自のlinqプロバイダがあります。 linqについてのあなたの読書の年は失われません。 SQLへ

2

LINQはなくなりませんでした。 LINQ to SQLは、どちらもそうではありませんが、データアクセスのためのMicrosoftの戦略的プラットフォームではなく、Entity Frameworkです。 EFはLINQ to Entitiesを使用していますので、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; 

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

10

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

LINQは技術の完全な集まりであり、それ以上のものはパターンであり、独自のデータプロバイダ用に実装することもできます。

LINQ to SQLは、そのパターンの単なる例です。 LINQ to SQLは、価値があるものとして、実際に逃げるのではなく強調されていると思いますが、わかります...

個人的に私は、最初の場所で最も有用なLINQプロバイダにオブジェクトにLINQを見つける:)

0

LINQは、データのシーケンスを処理するためのライブラリです。そしてそれはかなり素晴らしいです。 これらのデータのシーケンスは、IEnumerableを実装するものであればよく、アダプターによって提供されるシーケンスであってもかまいません。

Linq to SQLは、SQLデータベースがLINQと互換性のある一連のデータを提供できるようにするアダプタです。

XML文書を一連のデータとして扱い、LINQで処理できるようにするアダプタであるLinq to XMLもあります。

LINQはクエリ言語に過ぎず、その機能は非常に優れています。これはデータベースやSQLとは関係ありません。メモリ内のコレクションを簡単に処理できることを学ぶだけの価値があります。

関連する問題