gpt4 book ai didi

linq - 是否可以检测所选项目是否是 LINQ-to-SQL 中的第一个?

转载 作者:行者123 更新时间:2023-12-04 05:47:04 24 4
gpt4 key购买 nike

我想知道如何构建一个查询表达式来理解被选择的给定项目是否是第一个。假设我从数据库中选择 10 个项目:

var query = db.Table.Take(10).Select(t => IsFirst ? t.Value1 : t.Value2);

Select 有一个索引变体,但在 LINQ-to-SQL 中不受支持。如果它得到支持,我的问题将得到解决。还有什么技巧吗?

我本来可以用 ROW_NUMBER()例如,在 T-SQL 上,LINQ-to-SQL 使用但不授予访问权限。

我知道我可以 Concat两个查询并使用第一个表达式中的第一个表达式等等,但我不想操作查询的其余部分,只是选择语句本身,因为查询是在多个位置构建的,这就是我想要表现不同的地方第一排。如果不可能,我会考虑其他选择。

最佳答案

您可以使用索引重载,但您需要使用 LINQ to Objects 版本:

var query = 
db.Table.Take(10).AsEnumreable()
.Select((t, index) => index == 0 ? t.Value1 : t.Value2);

关于linq - 是否可以检测所选项目是否是 LINQ-to-SQL 中的第一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10548189/

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