Как использовать «Упорядочить по» для сортировки по свойству унаследованного типа в LINQ-to-SQL? - PullRequest
0 голосов
/ 04 ноября 2008

У меня довольно стандартная ситуация наследования в моем текущем проекте LINQ-to-SQL. У меня есть базовый класс под названием «Партия» и классы «Индивидуальный» и «Организация», которые наследуются от него.

То, чего я хочу достичь, кажется (и вероятно) довольно простым. Я хочу вернуть список «Организации», отсортированный по названию компании. Проблема в том, что поле названия компании (CoName) является членом класса «Организация», а не класса «Сторона».

Мой текущий несортированный запрос ...

oClients = (From P In ERM.Parties Where TypeOf (P) Is Organisation)

Что бы я хотел сделать, это ...

oClients = (From P In ERM.Parties Where TypeOf (P) Is Organisation Order By CoName)

... но, конечно, это не работает, поскольку свойство 'CoName' не является членом класса 'Party'.

Любая помощь будет принята с благодарностью!

1 Ответ

4 голосов
/ 04 ноября 2008

Используйте оператор OfType<>():

ERM.Parties.OfType<Organisation>().OrderBy(p => p.CoName)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...