Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法隐式转换类型';System.Data.Entity.Infrastructure.DbSqlQuery’;至';System.Linq.IQueryable’;_C#_Asp.net_Entity Framework_Linq - Fatal编程技术网

C# 无法隐式转换类型';System.Data.Entity.Infrastructure.DbSqlQuery’;至';System.Linq.IQueryable’;

C# 无法隐式转换类型';System.Data.Entity.Infrastructure.DbSqlQuery’;至';System.Linq.IQueryable’;,c#,asp.net,entity-framework,linq,C#,Asp.net,Entity Framework,Linq,我创建了一个Entity Framework API控制器,现在我正尝试从以下位置调整我的GetData()方法: public IQueryable<VIPPreviewTimeSlots> GetData() { return db.Data; } 如何将其转换为IQueryable?尝试使用asquerable()。但正如我在评论中指出的那样,这可能会产生影响。我认为在return语句末尾添加.AsQueryable()是可行的。但是,根据你的说法,你不能。您可以更改

我创建了一个Entity Framework API控制器,现在我正尝试从以下位置调整我的GetData()方法:

public IQueryable<VIPPreviewTimeSlots> GetData()
{
    return db.Data;
}

如何将其转换为IQueryable?

尝试使用asquerable()。但正如我在评论中指出的那样,这可能会产生影响。

我认为在return语句末尾添加.AsQueryable()是可行的。但是,根据你的说法,你不能。您可以更改函数签名以返回IEnumerable.AsQueryable()函数@PaulStoner的答案是在
.SqlQuery
上调用
.AsQueryable
。将函数签名更改为IEnumerable将导致它不再能够延迟链接。之后的所有工作都将在客户端而不是服务器端完成
.AsQueryable
是这里的正确答案(它实际上也是链接问题的正确答案,但它可能会对
.SqlQuery
产生性能影响,而这里没有。@RobertMcKee感谢您的输入。我个人觉得AsQueryable()会像我在类似情况下使用的那样工作,但不会与EF一起工作。始终感谢您的输入,
public IQueryable<VIPPreviewTimeSlots> GetData()
{
    return db.Data.SqlQuery("SELECT a,b,c FROM table INNER JOIN another table....");
}
Cannot implicitly convert type 'System.Data.Entity.Infrastructure.DbSqlQuery’ to 'System.Linq.IQueryable’