求可从数据库构建EF EDMX模型且支持仅新增表的工具
仅向现有EDMX实体模型添加新表的处理方案
官方工具的局限
Visual Studio自带的实体数据模型工具仅支持全量同步刷新,无法实现仅添加指定新表并生成对应EDMX节点和C#模型类的需求。如果项目中现有EDMX与数据库差异较大,全量刷新会同步所有差异,带来极高的测试验证成本,完全不可行。低成本的临时解决方案
可以通过半手动的方式规避全量刷新的问题:- 新建一个临时的空EDMX模型,仅导入需要新增的目标数据库表,生成对应的C#类和完整EDMX文件
- 打开临时EDMX的XML视图,提取出对应新表的CSDL(概念模型)、SSDL(存储模型)和MSL(映射)片段
- 将这些片段复制到现有项目的EDMX文件的对应节点中,注意保持命名空间、实体容器名称与现有模型一致
- 将临时生成的C#模型类复制到项目中,调整命名空间以匹配现有代码结构
自定义开发的挑战
如果要专门开发这类工具,需要全面理解EDMX的三层XML schema结构(CSDL/SSDL/MSL),以及实体与数据库表之间的映射规则,投入的学习和开发精力会比较大,官方目前没有提供相关的简化API支持。
内容的提问来源于stack exchange,提问作者Hopeless
相关产品推荐
相关产品推荐

