gpt4 book ai didi

c# - 根据类别从列表中获取记录

转载 作者:太空宇宙 更新时间:2023-11-03 23:35:48 25 4
gpt4 key购买 nike

查询:

List<vwBookTitleKitsSummary> theseKits = (from k in _dataContext.vwBookTitleKitsSummaries
where k.DateKitEnds > DateTime.Now && k.DateKitStarts <= DateTime.Now && k.IsDeleted == false
orderby k.KitOrder, k.KitCode descending
select k).ToList();

这些工具包得到如下 6 个结果(突出显示的):

enter image description here

我想要一个从每个类别中返回一个项目的查询例如我想要记录 K1503, T1503

我想要第一条以 K 开头的记录和第一条以 T 开头的记录

我试过如下:

List<vwBookTitleKitsSummary> theseKits = (from k in _dataContext.vwBookTitleKitsSummaries
where k.DateKitEnds > DateTime.Now && k.DateKitStarts <= DateTime.Now && k.IsDeleted == false && (k.KitCode.StartsWith("K"))
orderby k.KitOrder, k.KitCode descending
select k).Take(1).ToList();

List<vwBookTitleKitsSummary> qry = (from k in _dataContext.vwBookTitleKitsSummaries
where k.DateKitEnds > DateTime.Now && k.DateKitStarts <= DateTime.Now && k.IsDeleted == false && (k.KitCode.StartsWith("T"))
orderby k.KitOrder, k.KitCode descending
select k).Take(1).ToList();
theseKits.AddRange(qry);

这将返回带有 KitCode 的记录 - K1503、T1503

可以在一个查询中完成而不是编写两个查询并使用 AddRange,请提供任何帮助。

最佳答案

对于类别中的所有起始字母,这应该为每个类别提供 1 条记录。

List<vwBookTitleKitsSummary> firstCategoryTheseKits = _dataContext
.vwBookTitleKitsSummaries.Where(k => k.DateKitEnds > DateTime.Now
&& k.DateKitStarts <= DateTime.Now && k.IsDeleted == false).OrderBy(k => k.KitOrder)
.ThenByDescending(k => k.KitCode).GroupBy(k => k.KitCode[0]).Select(grps => grps.First)
.ToList();

如果你只想要 T 或 K,你可以添加一个 where 条件,如下所示:

List<vwBookTitleKitsSummary> firstCategoryTheseKits = _dataContext
.vwBookTitleKitsSummaries.Where(k => k.DateKitEnds > DateTime.Now
&& k.DateKitStarts <= DateTime.Now && k.IsDeleted == false
&& (k.KitCode[0] == 'T' || k.KitCode[0] == 'K')).OrderBy(k => k.KitOrder)
.ThenByDescending(k => k.KitCode).GroupBy(k => k.KitCode[0])
.Select(grps => grps.First).ToList();

抱歉,我的查询使用的是简洁的符号,而不是您的查询符号。

关于c# - 根据类别从列表中获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30636183/

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