我有一个班级学生(下面是伪代码):
public class Student {
public int StudentId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
}
部分类(下面的伪代码):
public partial class Student {
public string Notes { get; set; }
public string Instructions { get; set; }
}
报名课程:
public class Enrollment {
public int EnrollmentId { get; set; }
public string CourseName { get; set; }
}
LINQ:
var student = dataContext.Student;
var studentEnrollments = student.Join(
dataContext.Enrollment,
s => s.EnrollmentId,
e => e.EnrollmentId,
(s, e) => new
{
id = s.StudentId,
name = s.FirstName,
course = e.CourseName
});
现在当我写一个链接语句,并且我想通过Notes或Instructions命令时,我收到错误:
LINQ to Entities不支持指定的类型成员'Notes'。
现在Notes和Instructions不是数据库中Student表中的列。是什么引发了这个例外?如果需要,我如何根据这两个字段,Notes和Exceptions进行排序?
答案 0 :(得分:1)
据推测,它正试图将您的LINQ代码转换为SQL。对于这两个字段,它不能这样做,因为它们不是数据库字段,因此是错误。
尝试执行其余查询,然后在其上调用ToList()(强制执行SQL部分),然后然后在要排序的非数据库字段上调用OrderBy。