从EDMX更新/删除并不总是有效.如果在单击"从数据库更新模型"时未更新模型,请说明在更新数据库中的视图/表时,请执行以下操作:
1)从模型图中删除视图/表
2)将EDMX切换到xml视图(右键单击edmx文件并选择"打开方式")
3)搜索并删除xml实体元素
4)切换回EDMX视图
5)单击从数据库更新模型
这应该反映您对DB到EDMX所做的任何更改.它很麻烦,但完美无缺.
在理想的世界中,我希望数据库中的更新模型能够同步从DB到EDMX的更改.但是,它在大多数情况下都不起作用.
从EDMX更新/删除并不总是有效.如果在单击"从数据库更新模型"时未更新模型,请说明在更新数据库中的视图/表时,请执行以下操作:
1)从模型图中删除视图/表
2)将EDMX切换到xml视图(右键单击edmx文件并选择"打开方式")
3)搜索并删除xml实体元素
4)切换回EDMX视图
5)单击从数据库更新模型
这应该反映您对DB到EDMX所做的任何更改.它很麻烦,但完美无缺.
在理想的世界中,我希望数据库中的更新模型能够同步从DB到EDMX的更改.但是,它在大多数情况下都不起作用.
我成功完成的是这个(VB.Net).
根据需要/要求对数据库进行更新
在EDMX模型中选择"从数据库更新",图形模型将正确显示新的结构/表格
展开项目,以便显示所有相关文件
具有"tt"扩展名的两个文件是重要的:首先使用没有.Context的文件.在tt扩展之前.右键单击它并选择"运行自定义工具":
使用.Context对.tt文件执行相同的操作.在它的名字.您的所有代码和逻辑模型类都将更新.
从数据库中选择更新模型是更新EDMX的最佳方法.某些属性未在Conceptual图层上更新.
通过在"模型查看器"工具箱中查看,确保已更新"商店"图层.如果商店已正确更新,那么您没问题,您的数据库也是同步的.如果是这样,请进入可视化设计器,单击该字段,转到属性,然后在Conceptual端更新NotNull属性.
是的,它在大多数情况下都不起作用: - /
"最佳方法"(因为它系统地工作)是删除EDMX文件并再次生成它.但是不要忘记删除App.config中的连接字符串(否则VS2008 wizzard会为默认实体名称添加后缀),并清除缓存.
我希望这些工具在下一版本中能够更好地工作,因为它会显着降低生产力......