我应该如何编辑实体框架连接字符串?

Dev*_*Dan 116 entity-framework connection-string app-config entity-framework-4

我最近不得不编辑我的app.config文件来更改Entity Framework数据模型(.edmx文件)的连接字符串.但我想知道:有没有办法使用设计器编辑EF连接字符串?

原始连接字符串由"实体数据模型"向导自动生成.然后无法更改连接字符串 - 它在.edmx设计器的属性窗口中保持禁用状态.如果我可以(在app.config中),我喜欢避免手动编辑XML,所以我想知道是否有办法重新进入原始向导屏幕以更改连接字符串并让工具编辑app.config文件为了我.

Fab*_*ier 188

如果从app.config文件中删除连接字符串,则重新运行实体数据模型向导将指导您构建新连接.

  • 优秀.这正是我一直在寻找的答案.为了安全起见,我注释掉了现有的字符串(而不是删除它),保存了app.config更改,右键单击了设计器并选择了Update Model From Database.然后,向导让我在连接字符串中包含敏感信息(uid和pwd).谢谢! (17认同)
  • 如果您正在进行模型优先,则右键单击设计器,然后单击"从模型生成数据库" (5认同)
  • 这也适用于我,除了我必须更新App.config文件,然后重新启动VS.NET 2012.它没有检测到App.config文件已更改. (2认同)
  • 我必须在app.config文件中显式调用save,以便设计人员识别连接字符串已被删除. (2认同)

Lad*_*nka 18

不,您无法在设计器中编辑连接字符串.连接字符串不是EDMX文件的一部分,它只是从配置文件中引用的值,可能因为它只是在属性窗口中只读.

修改配置文件是常见任务,因为您有时希望在不重建应用程序的情况下进行更改.这就是配置文件存在的原因.


Dan*_*odi 9

您通常在Web.config中定义连接字符串.生成edmx后,连接字符串将存储在App.Config中.如果要更改连接字符串,请转到app.config并删除所有连接字符串.现在转到edmx,右键单击设计器表面,选择"从数据库更新模型",从下拉列表中选择连接字符串,单击" 下一步","添加"或"刷新"(选择所需内容)并完成.

在输出窗口中,它将显示如下内容,

生成的模型文件:UpostDataModel.edmx.从数据库加载元数据时间为00:00:00.4258157.生成模型花了00:00:01.5623765. 添加了连接字符串到App.Config文件.