类型或命名空间名称“关系”不命名空间中存在“Microsoft.EntityFrameworkCore”
问题描述:
在一个ASP.Net核心1.1 web应用程序,在2017年VS,我需要引用包:
Microsoft.EntityFrameworkCore。关系
(这是为了调用使用结果集的存储过程如下所述: How to run stored procedures in Entity Framework Core?)类型或命名空间名称“关系”不命名空间中存在“Microsoft.EntityFrameworkCore”
当安装从PM控制台封装,具有:
Install-Package Microsoft.EntityFrameworkCore.Relational
我得到“成功安装‘Microsoft.EntityFrameworkCore.Relational 1.1.2’”
但是当我添加一行:
using Microsoft.EntityFrameworkCore.Relational;
在文件的顶部,守信用“关系”有一个红色的根据与错误波浪线:
The type or namespace name 'Relational' does not exist in the namespace 'Microsoft.EntityFrameworkCore' (are you missing an assembly reference?)
我孤立的问题,创造型“ASP.Net核心的Web应用程序(.NET框架)”的新项目,选择模板的空ASP.Net 1.1核心项目,然后安装上面的包。我仍然得到同样的错误。
TIA
答
Microsoft.EntityFrameworkCore.Relational
是汇编。 EF Core中没有这样的名称空间。
的FromSql
方法在Microsoft.EntityFrameworkCore
命名空间,RelationalQueryableExtensions
类中定义的,所以你需要去访问它是典型的
using Microsoft.EntityFrameworkCore;
按照*的帖子我联系,以便检索类型化存储过程的结果集,我需要使用:Microsoft.EntityFrameworkCore.Relational程序集中的dbContext.Set()。我_did_按照我的问题 –
中所述安装该程序集。这是正确的。你需要安装**程序集**。通过这样做,它会在前面提到的**命名空间**中引入一些额外的方法。顺便说一句,从链接的答案是不完全正确的 - 没有'Set()'方法,方法是'Set()'和'FromSql'是'IQueryable '的扩展方法。 –
我建议你阅读你所指的接受答案下的评论。接受和upvoted并不总是意味着工作。特别是在EF Core中,几乎每一个版本都会发生变化:( –