Как получить одинаковые столбцы из разных таблиц - PullRequest
0 голосов
/ 27 марта 2012

У меня есть 3 таблицы

задача (Id, текст, Contact_Id)
пользователи (Id, имя)
компания (id, имя)

и 2 соединительные таблицы

task_users (task_id, user_id)
task_companies (task_id, company_id)

примечание: contact_id может относиться к таблице пользователей или компании

Как я могу получить task id, task text, contact name по одному критерию

1 Ответ

0 голосов
/ 27 марта 2012

Это пример с QueryOver, но он почти как ICriteria.

Contact contact = null;
mappingSession.QueryOver<Task>()
   .JoinAlias(() => task.Contact, () => contact)
   .SelectList(list => list
     .SelectGroup(task => task.Id)
     .Select(task => task.Text)
     .Select(() => contact.Name))
   .TransformUsing(Transformers.DistinctRootEntity)
   .List();

Другое - это отображение.Вы можете составить базовый объект «Контакт» и расширить из него Пользователь и Компанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...