作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用Entity Framework 6.0.0并首先使用数据库(like this)从表和存储过程生成代码。这似乎很有效,只是更新或刷新模型时不会反射(reflect)存储过程中的更改。向表添加列会得到反射(reflect),但不会向存储过程添加字段。
有趣的是,如果我转到模型浏览器
,右键单击存储过程,选择添加函数导入
,然后单击按钮获取列信息
我们可以看到正确的列。这意味着模型知道这些列,但无法更新生成的代码。
有一种解决方法,那就是在更新模型之前删除生成的存储过程。只要您没有对存储过程进行任何编辑,此操作就有效。有谁知道避免这种解决方法的方法吗?
我使用的是 Visual Studio 2013
,其中包含截至 2013 年 12 月初的所有最新更新。
提前致谢!
更新 1:andersr的回答在一种情况下有所帮助,其中存储过程使用了临时表,所以我给了他+1,但它仍然没有解决更新简单存储过程的主要问题。
更新 2:shimron 下面的评论链接到有关 EF 3.5 中相同问题的问题。 EF 6.0 似乎仍然如此。阅读它以获取替代方法,但我目前的结论是,最简单的方法是在更新模型之前删除生成的存储过程。如果您想做一些奇特的事情,请使用部分类。
最佳答案
基于this answer通过 DaveD ,这些步骤解决了该问题:
.edmx
中,按住 rt 键单击并选择模型浏览器。关于entity-framework - EF 6数据库第一个: How to update stored procedures?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20518475/
我是一名优秀的程序员,十分优秀!