【问题标题】:Deploying database-first C# ASP.NET MVC app - connect to different database部署数据库优先的 C# ASP.NET MVC 应用程序 - 连接到不同的数据库
【发布时间】:2020-04-03 17:56:23
【问题描述】:

我正在尝试部署我创建的数据库优先应用程序。我正在为模型使用.edmx 文件。我一直在使用本地数据库进行测试和构建,但现在我到了需要演示和获得反馈的地步。为了部署它,我将连接字符串更改为:

<add name="Entities" 
     connectionString="metadata=res://*/Models.DBModels.csdl|res://*/Models.DBModels.ssdl|res://*/Models.DBModels.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=servername;Initial Catalog=CRMS;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

这样它就可以连接到新的数据库。但是,这不起作用,我收到元数据路径无效错误。

这是我的第一个数据库优先应用程序。我想我可以基于生产数据库创建另一个 .edmx 文件,但必须有更简单的方法。

【问题讨论】:

  • 由于您要转到不同的数据库,您是否将迁移推送到新数据库?此外,我从未见过像这样的连接字符串,其中包含 metadata=。您要迁移到哪种数据库?
  • @PatrickMcvay 与其说是迁移,不如说是更改数据库项目的连接字符串以指向生产数据库并重新运行该项目。我要从一个 localdb 文件到一个成熟的 MS SQL 安装
  • @PatrickMcvay:它是一个实体框架连接字符串 - 请参阅 providerName:System.Data.EntityClient - 这适用于带有基于模型的 .edmx 文件的 EF 1.x/4.x。但连接字符串对我来说看起来不错 - if 那是正确的服务器和数据库名称。您是否在该服务器上创建了该数据库?
  • @marc_s 是的,这是正确的服务器名称。从服务器资源管理器连接到它后,我从属性窗口复制/粘贴了连接字符串

标签: c# sql asp.net-mvc iis


【解决方案1】:

我遇到了类似的错误,但我最终创建了另一个 .edmx 文件,因为有时当您尝试移动/更改并重新运行 EF 时,内部会出现问题。

试试这些链接,可能有助于解决问题:Link-1Link-2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 2013-03-24
    相关资源
    最近更新 更多