SQL 服务器 CE:禁止修改数据库文件?

SQL Server CE: Suppress modifications of database file?

我们有一个具有本地 SQL 服务器 CE 数据库文件的应用程序。当我们打开数据库,但不对其做任何修改时,数据库文件还是被修改了:

using (var connection = new SqlCeConnection("Data Source='data.sdf';File Mode='Shared Read';Encrypt=FALSE;LCID=1033"))
{
    connection.Open();
    using (var context = new DataContext(connection))
    {
    }
}

这会更改 sdf 文件开头的一些字节。

有什么办法可以避免这种情况吗?

是的,您可以在连接字符串中启用只读模式。在这种情况下,您可能还需要指定一个临时路径:

string connectionString = ...;Mode = Read Only;Temp Path= ...; 

More info.