SQL Server Compact および LINQ to SQL

SQL Server Compact は、Visual Studio と共にインストールされる既定のデータベースです。 詳しくは、「SQL Server Compact の使用 (Visual Studio)」をご覧ください。

このトピックでは、使用法、構成、機能セット、および LINQ to SQL のサポートのスコープに関する主要な相違を示します。

LINQ to SQL との関係における SQL Server Compact の特徴

既定では、SQL Server Compact はすべての Visual Studio エディションでインストールされるため、開発コンピューター上の LINQ to SQL で使用できます。 ただし、SQL Server Compact と LINQ to SQL を使用するアプリケーションの配置は、SQL Server アプリケーションの場合とは異なります。 SQL Server Compact は .NET Framework の一部ではないため、アプリケーションにパッケージ化するか、Microsoft サイトから個別にダウンロードする必要があります。

これには、次のような特徴があります。

  • SQL Server Compact は DLL としてパッケージ化されており、データベース ファイル (.sdf 拡張子) に対して直接使用できます。

  • SQL Server Compact は、クライアント アプリケーションと同じプロセスで実行されます。 そのため、SQL Server Compact と通信する方が SQL Server と通信するより効率的に優れています。 一方、SQL Server Compact では、コストを伴うマネージド コードとアンマネージド コード間の相互運用性が必要です。

  • SQL Server Compact DLL のサイズはわずかです。 このため、アプリケーション全体のサイズが抑制されます。

  • LINQ to SQL ランタイムおよび SQLMetal コマンドライン ツールが SQL Server Compact をサポートしています。

  • オブジェクト リレーショナル デザイナーでは SQL Server Compact はサポートされていません。

機能セット

SQL Server Compact の機能セットは、LINQ to SQL アプリケーションに影響を及ぼす次の点で、SQL Server の機能セットより単純です。

  • SQL Server Compact は、ストアド プロシージャまたはビューをサポートしません。

  • SQL Server Compact は、一部のデータ型と SQL 関数のみをサポートします。

  • SQL Server Compact は、一部の SQL コンストラクトのみをサポートします。

  • SQL Server Compact は、最小限のオプティマイザーを備えています。 クエリによってはタイムアウトする場合もあります。

  • SQL Server Compact は、部分信頼をサポートしません。

関連項目