将存储过程添加到实体框架模型(.edmx),而不刷新现有实体

时间:2014-10-22 20:19:11

标签: c# entity-framework entity-framework-6

我在开发环境中有一个存储过程,我希望将其添加到EF数据模型(.edmx),并通过EF创建的方法包装器在我的代码中调用它。

我们的开发环境并非与生产环境100%同步,所以当我尝试使用“从数据库更新模型”菜单选项添加部署到开发环境的存储过程时,模型中的所有现有实体都会刷新,并且会添加额外的属性他们中有一些。

我试图找到一种方法来添加存储过程而不刷新模型中的现有实体,因此我不会在其中获得开发和生产差异。

知道如何实现这个目标吗?

更新1:

在环顾四周并尝试不同的事情后,我得出结论,最简单的方法是更新指向开发环境的模型,然后指向生产。如果它们之间存在差异,您会在Visual Studio中看到错误,表示缺少属性映射,您所要做的就是找到这些属性并将其从模型中删除。

你可以做@Jonathan Amend所建议的那些应该可以正常工作的工作。

1 个答案:

答案 0 :(得分:1)

为什么不从开发数据库服务器更新edmx?如果这不是一个选项,您可以在开发和生产之间创建一个中介来保存新的存储过程。例如,您可以基于生产数据库的模式创建新的数据库项目,添加新的存储过程,然后将数据库项目部署到新数据库。从该新数据库更新您的edmx。