Visual studio 与2019年相比';t模型存储过程正确,但VS2017不正确。有已知的区别吗?

Visual studio 与2019年相比';t模型存储过程正确,但VS2017不正确。有已知的区别吗?,visual-studio,entity-framework,stored-procedures,Visual Studio,Entity Framework,Stored Procedures,我有一个VS2019解决方案,它使用EF 6.2(数据库优先)。当我导入存储过程,然后将属性配置为返回复杂类型时,设计器没有将存储过程对象放在模型的上下文中。但是,您可以在模型浏览器的“函数导入”和“存储过程/函数”中看到存储过程。反复尝试 然后,我在VS 2017中打开了相同的解决方案。从模型浏览器中删除存储过程,然后再次导入存储过程(并将复杂类型指定为返回)。编译后,在模型的上下文中找不到存储过程对象 我已经能够重新说明这一点。很奇怪。不是权限问题,因为导入在VS2017中有效,但在VS20

我有一个VS2019解决方案,它使用EF 6.2(数据库优先)。当我导入存储过程,然后将属性配置为返回复杂类型时,设计器没有将存储过程对象放在模型的上下文中。但是,您可以在模型浏览器的“函数导入”和“存储过程/函数”中看到存储过程。反复尝试

然后,我在VS 2017中打开了相同的解决方案。从模型浏览器中删除存储过程,然后再次导入存储过程(并将复杂类型指定为返回)。编译后,在模型的上下文中找不到存储过程对象


我已经能够重新说明这一点。很奇怪。不是权限问题,因为导入在VS2017中有效,但在VS2019中无效。这两个版本中的EF版本相同(这是相同的解决方案)。

这是一个bug。请在此处阅读:


在VS 16.1发布之前,解决方法(相当简单)是右键单击.tt文件并“运行自定义工具”

以下是我可以重新编写的方法:使用VS 2017,target.NET 4.6.1创建解决方案。添加EF 6.2。添加数据库(先添加数据库)。添加一个表和一个存储过程。编译。然后,使用VS 2019打开相同的解决方案。然后,如果我尝试添加另一个表或存储过程,它将显示在EDMX设计器的表面上,但即使在编译之后,也不会显示在模型或实体中。我在EF中的存储过程中也遇到过一些问题,我本以为这会对我有所帮助,但我遇到了另一种形式的问题