MapToStoredProcedures 不可用

MapToStoredProcedures not available

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

  1. Microsoft.EntityFrameworkCore.SqlServer

  2. Microsoft.EntityFrameworkCore.Design

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

entitytypebuilder doesnot contain a definition for maptostoredprocedures

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

install-package Microsoft.EntityFrameworkCore.Relational

由于存在版本冲突问题而无法正常工作...

NU1202: Package Microsoft.EntityFrameworkCore.Relational 3.0.0 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1).

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

最后,我安装了:

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

成功但 MapToStoredProcedures 函数仍然不可用。

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

我很困惑,因为这个函数曾经在带有 EF 6 的 VS 2013 中可用。:S

所以我意识到 EF 6 曾经有 MapToStoredProcedures 函数,而 EF Core 没有。 (不知道他们为什么那样决定)。

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

最后,我调用我的sp如下:

var dbResults = _gecontext.ParameterDetails.FromSqlRaw("EXEC dbo.get_nextParamSummary @UserId={0}", userId).ToList();