我首先使用EF 4.1,数据库启动一个新项目。如果我使用Visual Studio生成edmx,那么一切都很好;但是,当数据库发生变化而没有删除&时,我似乎无法想出一种刷新edmx的方法。重新添加它。
在之前的项目中(使用EF 3.x?),我们有脚本来执行此操作 - edmgen创建csdl,msl和ssdl,然后edmgen2创建edmx和designer.cs文件
我还需要使用edmgen2来创建edmx文件吗?或者有没有办法使用VS2010版本的edmgen来做到这一点?
答案 0 :(得分:2)
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));
}
答案 1 :(得分:1)
在edmx设计器中单击鼠标右键并从数据库中选择更新模型,您将获得一个弹出窗口,您可以在其中选择需要更新的对象