2012-02-23 2 views
2

Есть ли способ запроса по другому запросу LINQ?LINQ Запрос другого запроса LINQ

У меня есть объект BindingSource, который содержит результат выражения LINQ. и что BindingSource является источником данных DataGridView.

Теперь я хотел бы отфильтровать далее результат BindingSource.

Есть ли способ конвертировать этот источник данных BindingSource в то, что я мог запросить?

ответ

6

Абсолютно. Вам, вероятно, просто нужно будет передать DataSource в IEnumerable или IQueryable, примерно так:

var queryable = (IEnumerable<MyObject>)myBindingSource.DataSource; 
var myResults = queryable.Where(mObj => myObj.Color == "Red"); 
+0

Интересно! А что, если я не знаю фактического типа объекта, который содержит DataSource? – Hugo

+1

Тогда вы действительно не можете много сделать, чтобы опросить его. Какой тип запроса вы ожидали выполнить на совершенно неизвестном типе (не сказать, что это невозможно, это просто довольно ограничивает). – Servy

+0

На самом деле это может быть много, это часть пользовательского DataGridView, который используется повсюду в приложении, поэтому я хотел бы создать нечто общее. – Hugo

Смежные вопросы