【问题标题】:How can I script the creation of .edmx files using Visual Studio 2010 and EF 4.1?如何使用 Visual Studio 2010 和 EF 4.1 编写创建 .edmx 文件的脚本?
【发布时间】:2012-02-15 18:52:02
【问题描述】:

我正在使用 EF 4.1 开始一个新项目,首先是数据库。如果我使用 Visual Studio 生成 edmx,那么一切都很好;但是,当数据库发生更改而不是删除和重新添加它时,我似乎无法找到刷新 edmx 的方法。

在之前的项目中(使用 EF 3.x?),我们有脚本来执行此操作 - edmgen 创建 csdl、msl 和 ssdl,然后 edmgen2 创建 edmx 和 Designer.cs 文件。

我还需要使用 edmgen2 来创建 edmx 文件吗?或者 VS2010 版本的 edmgen 有没有办法做到这一点?

【问题讨论】:

  • +1 来自我。我正在尝试同样的事情,但没有运气......你找到方法了吗?

标签: visual-studio-2010 entity-framework-4 edmgen


【解决方案1】:

我在这里创建了一个功能请求:
http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/3022790-edmgen-exe-should-support-generating-an-edmx-file-

这里也有类似的讨论:
http://social.msdn.microsoft.com/Forums/sa/adodotnetentityframework/thread/a98cddf4-5975-4c20-b88d-d308ed7fa45f

http://social.msdn.microsoft.com/Forums/en/adonetefx/thread/d93cde02-7534-489c-a1bd-72f45ce404be

这里有一篇博文:
http://weblogs.asp.net/manavi/archive/2011/05/17/associations-in-ef-4-1-code-first-part-6-many-valued-associations.aspx
(提示:搜索“获取运行时 EDM”)

最后两个链接提供了答案:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
  // Additional configuration

  var provider = new DbProviderInfo("System.Data.SqlClient", "2008");
  var model = modelBuilder.Build(provider);
  model.WriteEdmx(provider, new XmlTextWriter(@"C:\temp\my.edmx", Encoding.ASCII));
}

【讨论】:

  • 嗨拉米,我正在尝试做同样的事情。您是否收到他们的回复或找到任何解决方案?
【解决方案2】:

在 edmx 设计器中单击鼠标右键并从数据库中选择更新模型,您将看到一个弹出窗口,您可以在其中选择需要更新的对象

【讨论】:

  • 这确实解决了我的直接问题,但我仍然想知道是否有一种方法可以编写创建 edmx 文件的脚本。
猜你喜欢
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 2011-07-23
  • 1970-01-01
  • 2022-01-01
  • 2011-08-07
相关资源
最近更新 更多