2

在 4.0 winforms 应用程序(基于 Win2008/VS2012/ClickOnce 构建)中,我使用 LocalDB 数据库和 Entity Framework 5 Code First(包括数据库初始化,无迁移)

有时,在构建/发布之后,应用程序无法连接到数据库(位于 c:\Admin[WindowsAccountName] 的默认路径中):从 Visual Studio 或客户计算机上调试时。TryGetConnection 中的异常是 System.Data.SqlClient.SqlException,“登录失败”。

如果出现以下情况,我可以修复它:

  1. 我删除了数据库文件(由 EF 重新创建)
  2. 我更改了连接字符串中的数据库名称(同样,重新创建了数据库)
  3. 我压缩了数据库文件(以保留 bakcup),删除它们(以检查解决方案 1),然后将它们解压缩到同一位置,并且它起作用了(很奇怪,但确实如此)
  4. 在新电脑上,没有问题

我的连接字符串是:

<add name="SupplyChainContext" providerName="System.Data.SqlClient"
connectionString="Server=(localdb)\v11.0;Database=MySupplyChainDb;
Trusted_Connection=true;Integrated Security=True;MultipleActiveResultSets=True"/>

昨天又发生了,我所做的代码更改与数据库无关:CodeFirst 对象没有更改,我能想到的唯一相关的是我删除了 app.config 中的用户设置(与数据库无关)

它让我想起了 Visual Basic 部署的黑暗日子,那时您永远无法确定安装是否能够正常工作

4

0 回答 0