SQL Server Compact 是随 Visual Studio 一起安装的默认数据库。 有关详细信息,请参阅使用 SQL Server Compact (Visual Studio)。
本主题概述了 LINQ to SQL 支持使用情况、配置、功能集和范围的主要差异。
SQL Server Compact 相对于 LINQ to SQL 的特征
默认情况下,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 的功能集比 SQL Server 的要简单得多,这种简单性可能会在以下几个方面影响 LINQ to SQL 应用程序:
SQL Server Compact 不支持存储过程或视图。
SQL Server Compact 仅支持数据类型和 SQL 函数的子集。
SQL Server Compact 仅支持 SQL 构造的子集。
SQL Server Compact 仅提供最小优化器。 有些查询可能会超时。
SQL Server Compact 不支持部分信任。