次の方法で共有


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 は、データベース ファイル (.sdf 拡張子) に対して直接使用できる DLL としてパッケージ化されています。

  • 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 では、部分信頼はサポートされていません。

こちらも参照ください