我正在使用EF 4.1开始一个新的项目,首先是数据库。如果我使用Visual Studio生成edmx,那么一切都很好;但是,我似乎找不到一种方法来在数据库发生更改时刷新edmx,除非删除并重新添加它。
在之前的项目中(使用EF3.x?),我们有脚本来完成这项工作- edmgen创建csdl、msl和ssdl,然后使用edmgen2创建edmx和designer.cs文件。
我仍然需要使用edmgen2来创建edmx文件吗?或者,有没有办法在VS2010版本的edmgen中做到这一点?
发布于 2012-07-24 10:16:52
我在这里创建了一个功能请求:
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
(提示:搜索"Get the Runtime 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));
}发布于 2012-02-16 02:57:04
在edmx设计器中用鼠标右键单击并选择“从数据库更新模型”,您将看到一个弹出窗口,您可以在其中选择需要更新的对象。
https://stackoverflow.com/questions/9299409
复制相似问题