在LINQ中的select语句中执行计算

利津·杜拉伊拉伊(Lijin durairaj)

我有一种情况,例如,我必须计算两个值的百分比

IEnumerable<RenewalModel> result = 
    from r in renewalLists
    group r by r.CityID into grpCity
    select new RenewalModel
    {
        CityID = grpCity.Key,
        City = (from g in grpCity where g.CityID == grpCity.Key select g.City).First().Trim(),
        PotentialRenewalCount = (from g in grpCity where g.CityID == grpCity.Key select g.PotentialRenewalCount).Sum(),
        PotentialRenewalSQRT = (from g in grpCity where g.CityID == grpCity.Key select g.PotentialRenewalSQRT).Sum(),
        desiredCalucation=   (PotentialRenewalCount/PotentialRenewalCount)*100,
        RENEWALCOUNT = (from g in grpCity where g.CityID == grpCity.Key select g.RENEWALCOUNT).Sum(),
        RENEWALSQRT = (from g in grpCity where g.CityID == grpCity.Key select g.RENEWALSQRT).Sum()
    };

我的计算应该是这样的

(可能更新数/可能更新数)* 100

正如我在select语句中描述的那样。

我什至尝试了此查询,但结果为0

 IEnumerable<RenewalModel> result =
            (from r in renewalLists
            group r by r.CityID into grpCity
            select new RenewalModel
            {
                CityID = grpCity.Key,
                City = (from g in grpCity where g.CityID == grpCity.Key select g.City).First().Trim(),
                PotentialRenewalCount = (from g in grpCity where g.CityID == grpCity.Key select g.PotentialRenewalCount).Sum(),
                PotentialRenewalSQRT = (from g in grpCity where g.CityID == grpCity.Key select g.PotentialRenewalSQRT).Sum(),
                RENEWALCOUNT = (from g in grpCity where g.CityID == grpCity.Key select g.RENEWALCOUNT).Sum(),
                RENEWALSQRT = (from g in grpCity where g.CityID == grpCity.Key select g.RENEWALSQRT).Sum()
            }).select(r => new RenewalModel
            {
                desiredCalucation = (r.PotentialRenewalCount / r.PotentialRenewalCount) * 100,
                CityID = r.CityID,
                City = r.City,
                PotentialRenewalCount = r.PotentialRenewalCount,
                PotentialRenewalSQRT = r.PotentialRenewalSQRT,
                RENEWALCOUNT = r.RENEWALCOUNT,
                RENEWALSQRT = r.RENEWALSQRT
            });

由于某种原因或另一个desireCalucation变量给我0作为结果。

任何帮助表示赞赏。谢谢

伊万·尤琴科(Ivan Yurchenko)

为此,请使用LINQ let运算符

通常,我建议将大型LINQ语句拆分为几个较小的语句。否则,稍后进行调试将非常痛苦。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何执行 SELECT 语句中的 INSERT?

来自分类Dev

LINQ Select语句中的条件数学

来自分类Dev

Oracle中Case语句中的Select语句

来自分类Dev

在INSERT语句中执行SELECT语句的SQL是什么?

来自分类Dev

LINQ中where语句中的多个条件

来自分类Dev

如何在Postgres中的select语句中计算表达式

来自分类Dev

MySQL中SELECT语句中的CASE条件

来自分类Dev

在Python中的SELECT语句中传递列名

来自分类Dev

在SELECT语句中更改Oracle中的列名

来自分类Dev

从codeigniter中的select语句中获取价值?

来自分类Dev

在Python中的“ if”语句中执行奇怪的返回语句

来自分类Dev

bash脚本中的EOF语句不在IF语句中执行

来自分类Dev

在if语句中执行for循环

来自分类Dev

如何获取已执行的select语句中的总行数?

来自分类Dev

SELECT语句中表达式的执行顺序

来自分类Dev

SELECT语句中表达式的执行顺序

来自分类Dev

TSQL Select 即使在不执行的 IF 语句中也能运行

来自分类Dev

LINQ语句中的串联

来自分类Dev

LINQ语句中的错误

来自分类Dev

If语句中的可执行语句

来自分类Dev

C#如果LINQ select子句中有语句

来自分类Dev

LINQ to Objects-减少重复-在select语句中映射

来自分类Dev

在linq select语句中更改输出属性名称

来自分类Dev

C#如果LINQ select子句中有语句

来自分类Dev

Linq到实体(如果在select语句中)

来自分类Dev

如何在select语句中执行和选择语句,并执行string_agg或concat?

来自分类Dev

在if语句中执行的switch语句未执行

来自分类Dev

在Oracle中的select语句中使用select

来自分类Dev

在SQL语句中执行宏