Я пытался отсортировать запрос LINQ, используя список строк.Я спрашиваю студенческие условия и в том числе TermCourses.В коде выдается следующая ошибка:
System.NotSupportedException: LINQ to Entities не распознает метод метода Int32 IndexOf (System.String), и этот метод нельзя преобразовать в выражение хранилища.. '
Я сделал такую сортировку, используя DataTables
, где у меня есть только строки, но не в EF, и дерево объектов.
Как мне обойти эту проблему?
Вот мой код:
private static readonly List<string> SortingOrder =
new List<string>()
{
"Fall",
"Spring",
"Summer"
};
using (var context = new EUContext())
{
var tmp = context.Terms.Include(x=>x.TermCourses)
.OrderBy(x => x.AcademicYear)
.ThenBy(x => SortingOrder.IndexOf(x.TermRegistered))
.Where(x => x.StudentID == studentId && x.DepartmentID == departmentId);
return tmp.ToList();
}