@ leppie - Нет необходимости вызывать ToList () для IQueryable при подключении его в качестве источника данных.
При условии, что ваш DataContext не был утилизирован до вызова метода DataBind. ToList является избыточным вызовом.
По умолчанию DataContext использует отложенную загрузку, поэтому данные извлекаются из базы данных только при перечислении IQueryable. ToList () выполняет перечисление и вызывает, как и DataBind ().
Так что вы можете сделать что-то вроде этого:
using(MyDataContext ctx = new MyDataContext(){
this.MyGridView.DataSource = from something in ctx.Somethings where something.SomeProperty == someValue select something;
this.MyGridView.DataBind();
}
В зависимости от того, как вы распоряжаетесь своим DataContext, определяет, что связывать с источником данных.
Затем вы можете использовать автоматически сгенерированные столбцы в GridView, чтобы каждое свойство в возвращаемом объекте было превращено в столбец, или вы можете написать столбцы в конструкторе и установить там правила привязки.