如何在数据库位置更改时更新.edmx文件(实体数据模型工具)

时间:2014-10-30 01:52:50

标签: c# .net entity-framework

你能解释一下如何更改edmx文件的连接字符串而不必重建每一个想法吗?

由于技术原因,我需要将我的开发数据库从本地计算机移动到专业服务器。我使用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文件我的数据库是相同的,他需要刷新,而不是添加表?

--- FYI ---

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

1 个答案:

答案 0 :(得分:0)

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

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