Этот вопрос является продолжением: Не могу вспомнить запрос, который решает это много ко многим
Этот запрос LINQ рекомендован мне пользователем @juharr, я только что добавил конкатенацию строкс целью группировки имени и фамилии в полное имя.
var courseViews = from c in db.Courses
select new CourseView()
{
CourseID = c.ID,
ProfessorName = (from l in c.Leturers
where l.Is_Professor
select l.LastName+" "+l.FirstName).FirstOrDefault(),
AssistantNames = (from l in c.Leturers
where !l.Is_Professor
select l.LastName+" "+l.FirstName)
.ToList() //hmmm problem
};
ModelView, который я использовал, является еще одной возможной причиной проблем:
public class CourseView
{
public int ID { get; set; }
public string CourseName { get; set; }
public string ProfessorName { get; set; }
public List AssistantNames { get; set; }
}
Хмм. Список строк для имен помощников проблематичен, не так ли?В конце моей глупости, в View я перебрал этот список с помощью @foreach(var s in item.AssistantNames){@s}
@ Ладислав предложил использовать IQueryable
вместо строки, как где?
Для решения, которое я принял до сих пор, я получаю следующее error :
LINQ to Entities не распознает метод 'System.Collections.Generic.List 1[System.String] ToList[String](System.Collections.Generic.IEnumerable
1 [System.String]) ', и этот метод нельзя преобразовать в выражение хранилища.
Нужна помощь!