gpt4 book ai didi

c# - 在 linq 查询中使用索引作为额外的 id

转载 作者:行者123 更新时间:2023-11-30 19:41:02 25 4
gpt4 key购买 nike

假设我在 C# 中执行以下查询

    var query = from b in db.SchoolTestsPerModulePerStudent
where b.Student.Equals(2)
select b;

好的,我得到了我的模型 SchoolTestsPerModulePerStudent 的所有记录作为结果。但是,是否可以在执行查询时添加一个新的 Id?

这意味着如果我的模型有 4 个字段,StudentID、ModuleID、DateTest 和 GradeTest,得到以下内容

1, 2, 3, 1 January 2013, 76

2, 2, 3, 5 January 2013, 79

3, 2, 4, 1 January 2013, 73

4, 2, 4, 7 January 2013, 71

我该怎么做?

最佳答案

Select 的重载为您提供了索引:

var resultsWithId = query.Select((q, i) => new { Id = i, Student = q });

这会将结果放入匿名对象中。

编辑:正如 Nico 在下面提到的,这可能很难用作 ViewModel。如果你想那样使用它,创建一个新定义的类来保存信息:

public class MyClass
{
int Id;
int StudentId;
//etc
}

var resultsWithId = query.Select((q, i) => new MyClass {
Id = i + 1, //one based index
StudentId = q.StudentId
//etc
});

关于c# - 在 linq 查询中使用索引作为额外的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21298741/

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