0

我想使用 Entity Framework 中的 LINQ 查询获取学生详细信息及其上课时间的列表。

我正在使用以下查询来绑定学生详细信息列表和他们参加的总小时数。

var students = (from pa in db.tblstudents
                select new studentModel
                {
                    Name = pa.Name,
                    StudentID = pa.ID,
                    RollNO = pa.rollNO,
                    Department = pa.Department,
                    Phone = pa.Phone,
                    Address = pa.Address,
                    TotalHours = (from time in tblhours 
                                  where time.studentID = pa.ID 
                                  select time.hours).Sum()
                }).Distinct().AsQueryable().ToList();

my studentModel looks like below:- 
public class StudentModel 
{ public string Name { get; set; } 
public int StudentID { get; set; }
 public string RollNO{ get; set; } 
public string DepartMent{ get; set; }
 public long Phone{ get; set; }
 public string Address{ get; set; }
 public string Address2{ get; set; }
 public decimal TotalHours{ get; set; }
 } 

tblhours 和 tblstudent 由 studentid 关联,如果我想在特定时间段内获得所有学生参加的时间,我该怎么做?

当我尝试上述查询时,我收到错误消息,因为“LINQ to Entities 仅支持无参数构造函数和初始化程序”

我想我在使用子查询选择总小时数时出错了......

4

1 回答 1

0

StudentModel确保类中有一个空的构造函数

顺便说一句,如果你正确地建立了关系,你也应该能够做到这一点

TotalHours = pa.tblhours.Sum(time=>time.hours)
于 2013-07-24T01:04:29.880 回答