【问题标题】:How to update an .edmx File when the Database Location Changes (Entity Data Model Tools)数据库位置更改时如何更新 .edmx 文件(实体数据模型工具)
【发布时间】:2014-10-30 01:52:50
【问题描述】:

您能解释一下如何更改 edmx 文件的连接字符串而无需重新构建everythink 吗?

出于技术原因,我需要将我的开发数据库从本地计算机移动到专业服务器。我使用 MySQL。数据库的传输已经完成,没有任何问题。我的架构名称从本地计算机上的“MyProject”更改为服务器上的“MyProjectDatabase”。

我还在 app.config 中修改了连接字符串。

 connectionString="metadata=res://*/MyProjectModel.csdl|res://*/MyProjectModel.ssdl|res://*/MyProjectModel.msl;provider=MySql.Data.MySqlClient;provider connection string="server=xx-xxxx-azure-xxx-x.cloudapp.net;user id=xxxxxxxx;password=xxxxxxxx;database=MyProjectDatabase"" providerName="System.Data.EntityClient" />

现在,当我尝试通过 Visual Studio 从数据库验证或更新我的模型时,系统想要重新创建/添加我的所有表。我在刷新选项卡中什么也看不到。我应该怎么做才能告诉我的edmx文件我的数据库是一样的,他需要刷新,而不是添加表?

--- 仅供参考 ---

我已经按照 MSDN 的说明进行操作:How to: Update an .edmx File when the Database Changes (Entity Data Model Tools) 但此链接涉及数据库架构更改后的模型更新,而不是位置。

【问题讨论】:

    标签: c# .net entity-framework


    【解决方案1】:

    您提供的链接涉及数据库架构更改后的模型更新,而不是位置。

    1. edmx->元数据工件处理->复制到输出目录
    2. 删除架构定义文件作为应用程序资源。而不是res://*/MyProjectModel.csdl 使用.\MyProjectModel.csdl。同样适用于 ssdl 和 msl。
    3. 从未使用过 MySqlConnector,但最后的 providerName="System.Data.EntityClient" 部分看起来很可疑。提供者已被指定为 MySql.Data.MySqlClient

    【讨论】:

    • 是的,我知道我提供的链接涉及数据库架构更改后的模型更新,而不是它的位置。你的英语比我的更能表达这一点。我会编辑我的问题。感谢您的帮助
    猜你喜欢
    • 2012-03-31
    • 2017-04-25
    • 2023-04-01
    • 2011-03-10
    • 1970-01-01
    • 2011-02-26
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多