c# - 无法将类型 'Program.Data.View' 隐式转换为 System.linq.iqueryable<Program.Data.View>。

标签 c# linq casting iqueryable

目标/问题: 我正在尝试使用 First 或 FirstOrDefault 仅从数据库返回 1 个结果。我收到以下错误:

无法将类型“Program.Data.view”隐式转换为 System.Linq.Iqueryable 存在显式转换(是否缺少强制转换)

我尝试过的: 在查看了文档和许多 SO 文章之后,我尝试了不同的转换方式,包括下面的代码。 Cannot implicitly convert type 'System.Linq.IQueryable<>to . An explicit conversion exists (are you missing a cast?)等文章.大多数文章都是从 System.Linq.IQueryable<> 转向其他方向,而不是这个方向。无论哪种方式转换都应该相对容易,我错过了什么?:

IQueryable<Program.Data.view> someVariable = db.view.First(m => m.ID == Search_ID);

我的方法签名是:

public IQueryable<Program.Data.view> GetDataFromQuery()

最佳答案

First()和类似的方法(如 FirstOrDefault()Count()Average() )返回 IQueryable<Program.Data.view>并且不使用延迟执行。

First() 立即执行并返回只有一个(好吧,第一个)Program.Data.view .

所以错误信息是正确的。将您的签名更改为

public Program.Data.view GetDataFromQuery()

和提到的行:

Program.Data.view someVariable = db.view.First(m => m.ID == Search_ID);

关于c# - 无法将类型 'Program.Data.View' 隐式转换为 System.linq.iqueryable<Program.Data.View>。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52558818/

相关文章:

c# - 在 WPF 的 HierarchicalDataTemplate 中获取 TreeViewItem 的父级

c# - 增加 jQuery/Javascript 中的 POST 数据大小

c# - 没有返回类型协变的接口(interface)继承

c# - Group By 怎么可能返回重复的键?

c# - 使用Web Api服务进行多次调用

C 数组值有时会被取反

c# - 如何将 foreach 循环转换为 lambda 表达式

c# - linq 查询将时间间隔分成每日批处理,开始和结束时有部分日期

c++ - 失败和错误的类型转换

swift - 无法将类型 'Swift._NSContiguousString' 的值转换为“NSNumber”