Kab*_*abi 2 c# linq type-conversion
我写了一个应该返回int值的LINQ查询.但是我无法将此值转换为int并发生异常:
无法将"QuickRoutes.DAL.RouteLinq"类型的对象强制转换为"System.IConvertible"类型.
这是我的LINQ:
var res = (from p in aspdb.RouteLinqs
orderby p.RouteId descending
select p).Take(1);
Run Code Online (Sandbox Code Playgroud)
这里发生异常:
route.Id =Convert.ToInt32(res.FirstOrDefault());
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
Hab*_*bib 10
那是因为你正在使用res.FirstOrDefault()
返回一个RouteLinqs
类型对象,select p
你可以选择一个字段使用select p.FieldName
,其中FieldName是转换所需的属性,这可能是RouteId
您可能想要查询linq查询中的特定字段.
var res = (from p in aspdb.RouteLinqs
orderby p.RouteId descending
select p.RouteId).Take(1); //p.RouteID or any field you want.
Run Code Online (Sandbox Code Playgroud)
或者使用当前查询,您可以执行以下操作:
route.Id =Convert.ToInt32(res.FirstOrDefault().RouteID);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25550 次 |
最近记录: |