gpt4 book ai didi

c# - 将 LINQ 查询结果转换为 int

转载 作者:行者123 更新时间:2023-11-30 18:55:05 24 4
gpt4 key购买 nike

我编写了一个应返回 int 值的 LINQ 查询。但我无法将此值转换为 int 并发生异常:无法将“QuickRoutes.DAL.RouteLinq”类型的对象转换为类型“System.IConvertible”。
这是我的 LINQ:

var res = (from p in aspdb.RouteLinqs
orderby p.RouteId descending
select p).Take(1);

异常发生在这里:

 route.Id =Convert.ToInt32(res.FirstOrDefault());

我该如何解决这个问题?

最佳答案

那是因为 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.

或者对于您当前的查询,您可以:

 route.Id =Convert.ToInt32(res.FirstOrDefault().RouteID);

关于c# - 将 LINQ 查询结果转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11338902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com