SQL Server Compact および LINQ to SQLSQL Server Compact and LINQ to SQL

SQL Server Compact は、Visual Studio と共にインストールされる既定のデータベースです。SQL Server Compact is the default database installed with Visual Studio. 詳しくは、「SQL Server Compact の使用 (Visual Studio)」をご覧ください。For more information, see Using SQL Server Compact (Visual Studio).

このトピックでは、使用法、構成、機能セット、および LINQ to SQLLINQ to SQL のサポートのスコープに関する主要な相違を示します。This topic outlines the key differences in usage, configuration, feature sets, and scope of LINQ to SQLLINQ to SQL support.

LINQ to SQL との関係における SQL Server Compact の特徴Characteristics of SQL Server Compact in Relation to LINQ to SQL

既定では、SQL Server Compact はすべての Visual Studio エディションでインストールされるため、開発コンピューター上の LINQ to SQLLINQ to SQL で使用できます。By default, SQL Server Compact is installed for all Visual Studio editions, and is therefore available on the development computer for use with LINQ to SQLLINQ to SQL. ただし、SQL Server Compact と LINQ to SQLLINQ to SQL を使用するアプリケーションの配置は、SQL Server アプリケーションの場合とは異なります。But deployment of an application that uses SQL Server Compact and LINQ to SQLLINQ to SQL differs from that for a SQL Server application. SQL Server Compact は .NET Framework の一部ではないため、アプリケーションにパッケージ化するか、Microsoft サイトから個別にダウンロードする必要があります。SQL Server Compact is not a part of the .NET Framework, and therefore must be packaged with the application or downloaded separately from the Microsoft site.

これには、次のような特徴があります。Note the following characteristics:

  • SQL Server Compact は DLL としてパッケージ化されており、データベース ファイル (.sdf 拡張子) に対して直接使用できます。SQL Server Compact is packaged as a DLL that can be used against database files (.sdf extension) directly.

  • SQL Server Compact は、クライアント アプリケーションと同じプロセスで実行されます。SQL Server Compact runs in the same process as the client application. そのため、SQL Server Compact と通信する方が SQL Server と通信するより効率的に優れています。The efficiency of communication with SQL Server Compact can therefore be significantly higher than communicating with SQL Server. 一方、SQL Server Compact では、コストを伴うマネージド コードとアンマネージド コード間の相互運用性が必要です。On the other hand, SQL Server Compact does require interoperability between managed and unmanaged code with its attendant costs.

  • SQL Server Compact DLL のサイズはわずかです。The size of the SQL Server Compact DLL is small. このため、アプリケーション全体のサイズが抑制されます。This feature reduces the overall application size.

  • LINQ to SQLLINQ to SQL ランタイムおよび SQLMetal コマンド ライン ツールが SQL Server Compact をサポートしています。The LINQ to SQLLINQ to SQL runtime and the SQLMetal command-line tool support SQL Server Compact.

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

機能セットFeature Set

SQL Server Compact の機能セットは、LINQ to SQLLINQ to SQL アプリケーションに影響を及ぼす次の点で、SQL Server の機能セットより単純です。The SQL Server Compact feature set is much simpler than the feature set of SQL Server in the following ways that can affect LINQ to SQLLINQ to SQL applications :

  • SQL Server Compact は、ストアド プロシージャまたはビューをサポートしません。SQL Server Compact does not support stored procedures or views.

  • SQL Server Compact は、一部のデータ型と SQL 関数のみをサポートします。SQL Server Compact supports only a subset of data types and SQL functions.

  • SQL Server Compact は、一部の SQL コンストラクトのみをサポートします。SQL Server Compact supports only a subset of SQL constructs.

  • SQL Server Compact は、最小限のオプティマイザーを備えています。SQL Server Compact provides only a minimal optimizer. クエリによってはタイムアウトする場合もあります。It is possible that some queries might time out.

  • SQL Server Compact は、部分信頼をサポートしません。SQL Server Compact does not support partial trust.

関連項目See also