繁体   English   中英

如何更新Entity Framework自动生成的代码以获取存储过程的结果

[英]How to update the Entity Framework auto-generated code for the results of a stored procedure

我想要实现的是获取自动生成的代码以更新存储过程的结果。

到目前为止我所做的是:

  1. 修改了我的开发数据库中的存储过程
  2. 在Visual Studio中:

    2.1确保在服务器资源管理器中设置了连接字符串

    2.2右键单击EDMX图并从数据库中选择更新模型。 将显示更新向导。 我没有添加任何内容,我检查存储过程是否在列表中。 在此之后,我单击完成按钮。

  3. 然后我得到“运行此文本模板可能会损害您的计算机”消息两次,我单击确定。

  4. 保存更改

  5. 构建DLL

  6. 右键单击EDMX下的tt(不是上下文一个)并选择运行自定义工具。 我得到与上面相同的安全消息,所以单击确定。

一切似乎都运行正常,没有明显的错误。

我还尝试了构建菜单下的Transform All T4 Templates。

我使用Visual Studio 2013与SQL Server 2014.实体框架运行时版本是4.0.30319。

我查看了EDMX xml文件,并且存在一个用于存储过程的FunctionImportMapping条目以及它将创建的类。

如果在尝试使用Visual Studio中的SQL Server对象资源管理器连接到数据库时有任何不同,它会显示SQL Server 2012登录,如果单击“连接”,则会显示“检测到不兼容的SQL Server版本”。 可以通过为Visual Studio 2013安装最新版本的SSDT来解决这个问题。

我是Entity Framework的新手,所以任何帮助都将不胜感激。

如何让课程更新,或者我是否在思考问题并且必须手动更新?

谢谢您的帮助。

我找到了一个解决方案似乎已经完成了这个诀窍:

  1. 打开EDMX图表
  2. 从数据库更新模型
  3. 右键单击图表,然后从菜单中选择Model Browser
  4. 展开Function Imports文件夹
  5. 找到已修改的存储过程。
  6. 双击它,将显示编辑功能导入表单
  7. 单击获取列信息
  8. 确保选择了正确的复杂类型,然后单击“更新”。
  9. 单击确定

现在应将新列添加到自动生成的代码中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM