Jim*_*lum 2 c# sql linq asp.net asp.net-mvc
我们假设我在C#中执行以下查询
var query = from b in db.SchoolTestsPerModulePerStudent
where b.Student.Equals(2)
select b;
Run Code Online (Sandbox Code Playgroud)
好的,我得到了我的模型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
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
有一个重载,Select它给你索引:
var resultsWithId = query.Select((q, i) => new { Id = i, Student = q });
Run Code Online (Sandbox Code Playgroud)
这会将结果放在一个匿名对象中.
编辑:正如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
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |