MapToStoredProcedures不可用

问题描述 投票:0回答:1

我在堆栈溢出时看到了一些与此相关的问题,但没有一个有帮助。我正在使用VS 2019社区版,我在.NetCore 2.1上创建了一个API项目,并添加了以下nuget包。 (假设默认情况下将包括所有EF软件包)

  1. Microsoft.EntityFrameworkCore.SqlServer

  2. Microsoft.EntityFrameworkCore.Design

经过一段时间的编码,我需要在OnModelCreating函数中使用MapToStoredProcedures。但是它不可用,

entitytypebuilder不包含maptostored过程的定义

在寻找一些解决方案之后,我尝试了

安装软件包Microsoft.EntityFrameworkCore.Relational

由于存在版本冲突问题,因此不起作用...

NU1202:软件包Microsoft.EntityFrameworkCore.Relational 3.0.0与netcoreapp2.1(.NETCoreApp,Version = v2.1)不兼容。

然后我尝试安装SDK并重新启动VS,然后我再次尝试安装Microsoft.EntityFrameworkCore.Relational nuget包,但存在相同的错误。

最后,我安装了:

Microsoft.EntityFramework(6.3)和较旧版本的Microsoft.EntityFrameworkCore.Relational(2.1.11)

这是成功的,但是MapToStoredProcedures函数仍然不可用。

类中的using语句也不显示Microsoft.EntityFrameworkCore.Relational命名空间...

我非常困惑,因为该功能以前在带有EF 6的VS 2013中可用::S

entity-framework-6 entity-framework-core asp.net-core-2.1
1个回答
0
投票

因此,我意识到EF 6曾经具有MapToStoredProcedures函数,而EF Core却没有。 (不知道他们为什么这么决定)。

我将目标框架从netcoreapp2.1更改为netcoreapp3.0,然后能够安装Tools和Microsoft.EntityFrameworkCore.Relational程序包。

最后,我按如下方式呼叫我的sp:

var dbResults = _gecontext.ParameterDetails.FromSqlRaw("EXEC dbo.get_nextParamSummary @UserId={0}", userId).ToList();
© www.soinside.com 2019 - 2024. All rights reserved.