我在开发环境中有一个存储过程,我希望将其添加到EF数据模型(.edmx),并通过EF创建的方法包装器在我的代码中调用它。
我们的开发环境并非与生产环境100%同步,所以当我尝试使用“从数据库更新模型”菜单选项添加部署到开发环境的存储过程时,模型中的所有现有实体都会刷新,并且会添加额外的属性他们中有一些。
我试图找到一种方法来添加存储过程而不刷新模型中的现有实体,因此我不会在其中获得开发和生产差异。
知道如何实现这个目标吗?
更新1:
在环顾四周并尝试不同的事情后,我得出结论,最简单的方法是更新指向开发环境的模型,然后指向生产。如果它们之间存在差异,您会在Visual Studio中看到错误,表示缺少属性映射,您所要做的就是找到这些属性并将其从模型中删除。
或
你可以做@Jonathan Amend所建议的那些应该可以正常工作的工作。
答案 0 :(得分:1)
为什么不从开发数据库服务器更新edmx?如果这不是一个选项,您可以在开发和生产之间创建一个中介来保存新的存储过程。例如,您可以基于生产数据库的模式创建新的数据库项目,添加新的存储过程,然后将数据库项目部署到新数据库。从该新数据库更新您的edmx。