System.Data.SqlServerCe 命名空间提供了从托管应用程序中对 Microsoft SQL Server Compact 3.5 数据库进行编程访问的能力。System.Data.SqlServerCe 提供的一组类可专门用于公开 SQL Server Compact 3.5 的功能。若要查看此命名空间中的类列表,请参阅 System.Data.SqlServerCe。
支持的功能
System.Data.SqlServerCe 命名空间提供了以下功能:
对 SQL Server Compact 3.5 数据源的一致访问。
共享数据的客户应用程序可以使用 SQL Server Compact 3.5 数据提供程序来连接到 SQL Server Compact 3.5 数据源,然后检索、处理和更新数据。
用于连接数据库、执行命令和检索结果的组件。
检索结果可以直接进行处理,或者放在要向用户显示的 ADO.NETDataSet 或 ResultSet 对象中,也可以与来自多个数据源的数据进行组合,或在层间远程传播。
面向编写托管代码的开发人员的功能。
该功能与 ADO 提供给本机 COM 开发人员的功能类似。
用于优化性能的索引功能。
SqlCeCommand.SetRange 限制通过调用 SqlCeDataReader.Read 和 SqlCeDataReader.Seek 显示行集项。SqlCeDataReader.Seek 允许直接在当前范围内定位键值。
通过 SqlCeReplication 和 SqlCeRemoteDataAccess 类与 SQL Server Compact 3.5 复制和远程数据访问 (RDA) 对象交互时所需的接口。
用于启用数据库创建和压缩的 SqlCeEngine 类方法。
数据库加密和密码保护。
提供程序限制
SQL Server Compact 3.5 的数据提供程序具有以下限制:
不支持批查询。查询必须是单个 SQL 语句。例如,下面的语句是有效的:
SELECT * FROM Customers
以下语句是无效的:
SELECT * FROM Customers; SELECT * FROM Customers2
必须从 SqlCeDataAdapter 刷新数据集。如果正在使用来自 Visual Studio 项目的代码,则必须修改 SQL 语句以遵守此限制。
不支持嵌套事务,但支持并行事务。
目前没有为将 SQL Server Compact 3.5 用作网站的数据库而对其进行优化。默认情况下,在 SQL Server Compact 3.5 中,来自与 ASP.NET 相连的应用程序的连接将受到阻止。SQL Server Compact 3.5 已经过优化,可用作应用程序内的嵌入式数据库。将 SQL Server Compact 3.5 用作网站的数据库需要多用户和并发数据更改的支持。这可能引起性能问题。因此,不支持这些方案。其他版本的 SQL Server(包括 SQL Server 2005 Express Edition 和更高版本)经过优化后,也可作为网站数据库使用。在使用 ASP.NET 创建 SQL Server Compact 3.5 数据库以实现同步操作的应用方案中,SQL Server Compact 3.5 可与 ASP.NET 配合使用。使用下面的代码更改 SQL Server Compact 3.5 的默认行为,以便在 ASP.NET 内使用。
AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true)