1

我有一个 C# .NET Framework 4.0 桌面应用程序,其实体框架为 DAL。当尝试将数据保存到除我之外的任何机器上的 DBContext 时,我收到了一个异常

Failed to update database "*.mdf" read only

我将我的数据库放在“DAL/AppData”文件夹中的 .exe 文件附近。

如何允许在其他机器上进行写访问?我可以以编程方式进行吗?

我读过我可以将 DB 放入 AppRoaming 文件夹,但这不是我的变体。

提前致谢。

4

1 回答 1

3

我将我的数据库放在“DAL/AppData”文件夹中的 .exe 文件附近。

是的。难道你的意思是这是在程序文件夹中,你知道的。

过去 10 年的 Windows 规格对普通用户来说是“只读”的吗?

哎哟。

它们是用于存储数据的文件夹。有一个 SpecialFolders 枚举来获取每个此类文件夹的有效路径。

如何允许在其他机器上进行写访问?我可以以编程方式进行吗?

在 SQL Server 上,这是通过允许其他计算机访问服务器而不是数据文件来完成的。即,您连接到另一台机器上的 SQL Server,该机器正在加载数据库。

我读过我可以将 DB 放入 AppRoaming 文件夹,但这不是我的变体。

首先,除非您确实计划漫游,否则这将是愚蠢的- SQL shold 进入本地文件夹,从不漫游。

第二,“不是我的变种”就像“嘿,我开车违反规则,我能做什么不被超速罚单”。并且“遵守法律不是我的变种”。您的变体是 WINdows 不关心的。了解如何根据 Windows 指南安装软件,该指南非常清楚不应该更改数据的位置。

于 2013-01-30T19:13:53.763 回答