gpt4 book ai didi

c# - 无法在 linq 中获得所需查询的结果

转载 作者:太空宇宙 更新时间:2023-11-03 20:50:58 27 4
gpt4 key购买 nike

我需要获取两到三年的数据,比如从'Jan, 2017 to March, 2019' 左右。在我的查询中,我分离了年份和月份的属性,这些属性与 SYear(从 Year - 2017)、Tyear(到 Year - 2019)和 SMonth(从 Month - 1(Jan)),TMonth(到 Month - 3(行进))。我的查询仅适用于类似年份的搜索,例如 2017 年 1 月至 2017 年 12 月。但不适用于 2017 年 1 月至 2019 年 3 月。

这是我的代码:

var Bim = new BillingInfoPerMonthManager().GetAll().Where(x => (Convert.ToInt64(x.Year) >= SYear && Convert.ToInt64(x.Year) <= TYear) && (Convert.ToInt64(x.Month) >= SMonth && Convert.ToInt64(x.Month) <= TMonth)).ToList();

我需要搜索像'Jan, 2017 to March, 2019' where SYear = 2017, TYear = 2019, SMonth = 1, TMonth = 3 并根据搜索获取数据。

我该怎么做,请帮忙。

最佳答案

假设 Year = 2017 和 Month = 9 虽然这在您想要的范围内,但 month = 9 不适合 Convert.ToInt64(x.Month) >= SMonth && Convert.ToInt64(x.Month) <= TMonth

尝试这样的事情:

var Bim = new BillingInfoPerMonthManager().GetAll()
.Where(x => (int.Parse(x.Year) * 12 + int.Parse(x.Month)) >= SYear * 12 + SMonth
&& (int.Parse(x.Year) * 12 + int.Parse(x.Month)) <= TYear * 12 + TMonth).ToList();

关于c# - 无法在 linq 中获得所需查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55313100/

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