LINQ toSQLとLINQtoObjectsの違いは何ですか

目次:

Anonim

NS 主な違い LINQ toSQLとLINQto Objectsの間は、 LINQ to SQLでは、データコンテキストオブジェクトがLINQとデータベース間のブリッジとして機能する必要がありますが、LINQ toObjectsでは中間のLINQプロバイダーやAPIは必要ありません。

LINQは、Microsoft.NETフレームワークコンポーネントであるLanguageIntegrated Queryの略で、ネイティブデータクエリ機能を.NET言語に追加します。もともとは2007年に.netFramework 3.5の主要部分としてリリースされました。これにより、アプリケーションをコレクション、ADO.NETデータセット、XMLドキュメント、Webサービス、MySQLやMSSQLなどのデータベースなどのさまざまなデータソースに接続できます。さらに、LINQにはさまざまな種類があり、そのうちの2つはLINQ toSQLとLINQtoObjectsです。

DLINQ、LINQ、LINQ to SQL、LINQ to Objects、.NET Framework、Objects、SQL

LINQ toSQLとは何ですか

LINQ to SQL(DLINQ)は、.NETFrameworkバージョン3.5のコンポーネントです。リレーショナルデータをオブジェクトとして管理できます。 LINQ to SQLでは、リレーショナルデータベースのデータモデルは、開発者が作成したプログラムのオブジェクトモデルに変換されます。つまり、アプリケーションを実行すると、LINQ to SQLがSQLクエリに変換され、それらがデータベースに送信されます。さらに、データベースが結果を返すと、LINQ toSQLはそれらをその特定のプログラミング言語のオブジェクトに変換し直します。データの挿入、更新、削除などの操作が可能です。

通常、プログラマーはVisual Studio Object RelationalDesignerを使用します。これは、LINQ toSQLの機能の多くを実装するためのユーザーインターフェイスで構成されています。全体として、LINQ to SQLは、データベースとのトランザクションを実行する際のプログラムの複雑さを軽減するのに役立ちます。

LINQ toObjectsとは何ですか

LINQ to Objectsは、メモリ内のデータコレクションにアクセスするためにIEnumerableをサポートするLINQクエリを使用できるようにする.NETFrameworkのコンポーネントです。つまり、コレクションを使用する方法を提供します。通常、プログラマーはループごとに書き込みを行い、コレクションからデータを取得します。代わりに、彼はLINQ toObjectsを簡単に使用できます。したがって、LINQ to Objectsは、コードの複雑さを軽減するのに役立ちます。

全体として、LINQ toObjectsはコードの可読性を向上させるのに役立ちます。強力なフィルタリング、グループ化機能、最小限のアプリケーションコーディングで強化された順序付けなどの利点を提供します。さらに、これらのクエリは、変更することなく、または変更を少なくして、さまざまなデータソースに移植できます。

LINQ toSQLとLINQtoObjectsの違い

意味

LINQ to SQLは、バージョン3.5の.NET Frameworkのコンポーネントであり、リレーショナルデータをオブジェクトとして管理できます。対照的に、LINQ to Objectは、LINQ toSQLまたはLINQto XMLの場合のように、LINQプロバイダー(API)を必要とせずにメモリ内データコレクションにアクセスするためのIEnumerableをサポートするLINQクエリの使用を提供する.NETフレームワークコンポーネントです。

要件

LINQ toSQLとLINQto Objectsの主な違いは、LINQ to SQLには、LINQとデータベース間のブリッジとして機能するデータコンテキストオブジェクトが必要であるのに対し、LINQ toObjectsには中間のLINQプロバイダーやAPIが必要ないことです。

返品タイプ

LINQ to SQLはタイプIQueryableのデータを返しますが、LINQ toObjectsはタイプIEnumerableのデータを返します。

実行方法

翻訳

さらに、変換はLINQ toSQLとLINQtoObjectsのもう1つの違いです。 LINQ to SQLは、式ツリーを使用してSQLに変換されます。したがって、それらを単一のユニットとしてチェックし、適切なSQLステートメントに変換することができます。一方、LINQをオブジェクトに変換する必要はありません。

結論

LINQ toSQLとLINQto Objectsは、2種類のLINQです。 LINQ toSQLとLINQto Objectsの主な違いは、LINQ to SQLではデータコンテキストオブジェクトがLINQとデータベース間のブリッジとして機能する必要があるのに対し、LINQ toObjectsでは中間のLINQプロバイダーやAPIが必要ないことです。

参照:

1.スティーブスタイン。 「LINQtoSQL」。 Microsoft Docs、こちらから入手できます。 2.BillWagner。 「LINQtoObjects(C#)」。 Microsoft Docs、こちらから入手できます。

画像提供:

1.」プログラムの例」By元のアップローダーはヘブライ語版ウィキペディアのדודשיでした。 – Commons Wikimediaを介してhe.wikipediaからCommons(CC BY-SA 3.0)に転送されました

LINQ toSQLとLINQtoObjectsの違いは何ですか