错误CS1061:'DbSet '不包含'FromSql'的定义,也没有扩展方法'FromSql'接受'DbSet'类型的第一个参数 “

问题描述 投票:2回答:2

我试图在mac os webapi上使用asp.net core 2.1调用视图或存储过程。

using System;
using System.Linq;
using Auth.Database;
using Microsoft.EntityFrameworkCore;

public virtual IQueryable<T> ExecuteStoreProcView(string viewProcName)
{
    IQueryable<T> queryResult = _entities.Set<T>().FromSql(viewProcName).AsQueryable();
    return queryResult;
}

得到以下错误

错误CS1061:'DbSet'不包含'FromSql'的定义,并且没有扩展方法'FromSql'接受类型'DbSet'的第一个参数(你是否缺少using指令或汇编引用?)(CS1061)

我正在使用mac os上的实体框架开发web api。

研究以下链接中的一些查询: - Raw SQL Query without DbSet - Entity Framework Core

Raw SQL Query without DbSet - Entity Framework Core

https://forums.asp.net/t/1886501.aspx?System+Data+Entity+DbSet+Entities+User+does+not+contain+a+definition+for+FirstOrDefault+

https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.relationalqueryableextensions.fromsql?view=efcore-2.1

但无法找到错误解决方案。任何人都可以让我知道我错过了什么。

c# asp.net asp.net-mvc entity-framework asp.net-core
2个回答
1
投票

自从Umer回答以来,这可能已经改变。它现在位于Microsoft.EntityFrameworkCore命名空间中。但是你需要参考这个包。

所以...

dotnet add package Microsoft.EntityFrameworkCore.Relational

并添加此行...

using Microsoft.EntityFrameworkCore;

0
投票

在您收到此错误的文件的顶部添加此行。 FromSql是一种扩展方法,在Microsoft.EntityFrameworkCore.Relational程序集中实现。

using Microsoft.EntityFrameworkCore.Relational;
© www.soinside.com 2019 - 2024. All rights reserved.