Linq на источнике данных типа списка - PullRequest
1 голос
/ 14 апреля 2011

У меня есть несколько объектов сущностей, например. Заказчик, заказы которого происходят от IComparable и все они сопоставлены с полями базы данных.

Я связываю сетку во время выполнения как List<Customer>, List<Orders> и т. Д.

Я пишу пользовательский класс столбца где я могу получить Parent.DataSource (это всегда будет List<>), но фактический тип неизвестен. Мне нужно преобразовать это в тип списка (возможно, IList), чтобы я мог написать linq запросы к источнику данных.

что-то вроде

IList t = Parent.DataSource as IList
var qry = from cl in t

Ответы [ 2 ]

0 голосов
/ 14 апреля 2011

вы можете использовать Cast в Linq.

var query = from customers in Parent.DataSource.Cast<Customer>()
            select customers;

Cast<Customer> преобразует ваш Parent.DataSource в ваш соответствующий объект Customer

0 голосов
/ 14 апреля 2011

Вы должны иметь возможность преобразовать ваш Parent.DataSource в соответствующий тип с помощью метода Cast() LINQ и выполнить запрос к нему:

var query = from customer in Parent.DataSource.Cast<Customer>()
            where customer.Foo == "Bar"
            select customer;
...