我创建了一个 MVC 4 项目,它使用 EF5 Code First 进行迁移。因为我是这个主题的新手,所以我使用了以下文章。
现在开发完成了,我想发布到 IIS(我使用 FTP 或 Web 部署包)。因此,在发布之前,我将连接字符串更改为正确的数据库服务器。但是在发布网站后,我在访问使用数据库的页面时遇到了异常。例外是指他无法连接到数据库的事实。
由于这些问题,我决定在另一台数据库服务器上本地尝试,而不是默认的“(LocalDB)\v11.0”。顺便说一句:“(LocalDB)\ v11.0”就像一个魅力......在调试时,我更好地了解了错误。这是错误的图像:
我已经尝试过的:
- 通过在包管理器控制台中执行“Update-Database -Script -SourceMigration:$InitialDatabase”生成一个 sql 脚本。在我在 dbserver 上运行此脚本以创建 db 之后。表已创建,但错误仍然存在。
- 我将连接字符串更改为各种组合但没有结果
- 我已经为 ISS 中的应用程序池使用了自定义用户,并为该用户授予了对数据库服务器和数据库的完全权限。
这是我的 web.config 中最重要的部分:
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=LOCALHOST\MSSQLSERVER;Initial Catalog=ProjectX;Integrated Security=TRUE;MultipleActiveResultSets=True" />
</connectionStrings>
和
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=LOCALHOST\MSSQLSERVER; Integrated Security=True; MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
我的 DBCcontext 类构造函数看起来像
public DBContext(): base("DefaultConnection")
{
}
我想我遗漏了一些东西,这是我第一次使用 EF Code First 进行迁移。这个问题真的让我抓狂。我没主意了。