【问题标题】:EF5 Code First Migration problems publishing to IIS发布到 IIS 的 EF5 Code First 迁移问题
【发布时间】:2013-04-02 06:24:25
【问题描述】:

我创建了一个 MVC 4 项目,它使用 EF5 Code First 进行迁移。 因为我是这个主题的新手,所以我使用了以下article

现在开发完成了,我想发布到 IIS(我使用 FTP 或 Web 部署包)。因此,在发布之前,我将连接字符串更改为正确的数据库服务器。 但是在发布网站后,我在访问使用数据库的页面时遇到了异常。例外是指他无法连接到数据库。

由于这些问题,我决定在另一台数据库服务器上本地试用,而不是默认的“(LocalDB)\v11.0”。顺便说一句:“(LocalDB)\ v11.0”就像一个魅力...... 在调试时,我更好地了解了错误。 这是错误的图像:

我已经尝试过的:

  • 通过执行“Update-Database -Script”生成一个sql脚本 -SourceMigration:$InitialDatabase" 在包管理器控制台中。在我在 dbserver 上运行此脚本以创建数据库之后。表是 已创建,但错误仍然存​​在。
  • 我将连接字符串更改为各种组合,没有 结果
  • 我已经为 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 进行迁移。 这个问题真的让我抓狂。我没有想法。

【问题讨论】:

  • 内部异常是什么?
  • 我现在无法访问该项目。我将在今天晚些时候粘贴它们。但这与 EF Code First 的 ProviderManifestToken 有关...

标签: entity-framework ef-code-first connection-string entity-framework-migrations


【解决方案1】:

刚刚发现问题是由连接字符串引起的。 字符串不正确,如果您有一个默认 SQL Server,您似乎只需要使用 “数据源=LOCALHOST”。

我猜是因为那天我在部署时遇到的所有问题,我忽略了简单的部分。当您遇到像我一样的问题时,请确保以下事项属实:

  1. 您的连接字符串与您的 DBContext 同名。另一种解决方案可能是像我一样将连接字符串名称添加到基础:

    public DBContext(): base("DefaultConnection") { }

  2. 如果您还设置了默认连接工厂。确保还在那里更新数据源。这是我努力解决的问题之一。我没有检查我的 web.config 的底部...

如果问题仍然存在,您可以使用 EF 分析器在您的站点应用访问数据库时查看连接字符串。

【讨论】:

    猜你喜欢
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 2013-01-28
    • 2013-03-29
    • 2016-06-10
    • 1970-01-01
    相关资源
    最近更新 更多