see*_*arp 4 c# linq casting iqueryable
目标/问题:我尝试使用First或FirstOrDefault仅从数据库返回1个结果.我收到以下错误:
无法将类型'Program.Data.view'隐式转换为System.Linq.Iqueryable存在显式转换(您是否缺少转换)
我尝试过: 在浏览文档和许多SO文章后,我尝试了不同的投射方式,包括下面的代码.诸如无法将类型'System.Linq.IQueryable <>隐式转换为的文章.存在显式转换(您是否错过了演员?).大多数文章都是从System.Linq.IQueryable <>转到其他方面,而不是这个方向.无论哪种方式铸造应该相对容易,我缺少什么?:
IQueryable<Program.Data.view> someVariable = db.view.First(m => m.ID == Search_ID);
Run Code Online (Sandbox Code Playgroud)
我的方法签名是:
public IQueryable<Program.Data.view> GetDataFromQuery()
Run Code Online (Sandbox Code Playgroud)
First()
和类似的方法(如FirstOrDefault()
或Count()
或Average()
)并没有返回IQueryable<Program.Data.view>
,并且不使用延迟执行.
First()
立即执行,只返回一个(好吧,第一个)Program.Data.view
.
所以错误信息是正确的.将您的签名更改为
public Program.Data.view GetDataFromQuery()
Run Code Online (Sandbox Code Playgroud)
和提到的行:
Program.Data.view someVariable = db.view.First(m => m.ID == Search_ID);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
78 次 |
最近记录: |