SQL Server Compact 3.5 与 LINQ to SQL

SQL Server Compact 3.5 是随 Visual Studio 2008 安装的默认数据库。有关更多信息,请参见 使用 SQL Server Compact 3.5 (Visual Studio)使用 SQL Server Compact 3.5 (Visual Studio)使用 SQL Server Compact (Visual Studio)使用 SQL Server Compact (Visual Studio).

本主题概括了在用法、配置、功能集和 LINQ to SQL 支持范围上的主要差异。

SQL Server Compact 3.5 相对于 LINQ to SQL 的特性

默认情况下,所有 Visual Studio 版本均安装了 SQL Server Compact 3.5,因此在开发计算机上它可以与 LINQ to SQL 一起使用。 但使用 SQL Server Compact 3.5 和 LINQ to SQL 进行的应用程序部署与 SQL Server 应用程序的部署存在差异。 SQL Server Compact 3.5 不是 .NET Framework 的一部分,因此必须与应用程序一起打包或单独从 Microsoft 网站下载。

请注意下列特性:

  • SQL Server Compact 3.5 打包成可直接对数据库文件(扩展名为 .sdf)使用的 DLL。

  • SQL Server Compact 3.5 与客户端应用程序在同一进程中运行。 因此与 SQL Server Compact 3.5 通信的效率要大大高于与 SQL Server 通信的效率。 另一方面,SQL Server Compact 3.5 确实需要托管代码和非托管代码之间互相交互,而这种交互也会耗费一定的开销。

  • SQL Server Compact 3.5 DLL 的大小很小。 这一特征减小了应用程序的总大小。

  • LINQ to SQL 运行时和 SQLMetal 命令行工具支持 SQL Server Compact 3.5。

  • 对象关系设计器不支持 SQL Server Compact 3.5。

功能集

SQL Server Compact 3.5 功能集与 SQL Server 的功能集相比要简单得多,具体体现在可影响 LINQ to SQL 应用程序的以下方面:

  • SQL Server Compact 3.5 不支持存储过程或视图。

  • SQL Server Compact 3.5 仅支持部分数据类型和 SQL 函数。

  • SQL Server Compact 3.5 仅支持部分 SQL 构造。

  • SQL Server Compact 3.5 仅提供具有最基本功能的优化器。 有些查询可能会超时。

  • SQL Server Compact 3.5 不支持部分信任。

请参见

其他资源

参考 (LINQ to SQL)