Используя QueryOver
, чтобы получить все записи в таблице base_example
для класса BaseExample
, вы должны сделать это: -
session.QueryOver<BaseExample>().List();
чтобы получить все Example1
записей, вы бы сделали это
session.QueryOver<Example1>().List();
чтобы получить все Example2
записи: -
session.QueryOver<Example2>().List();
Другими словами, NHibernate достаточно умен, чтобы автоматически добавлять предложение where Domain=1
или Domain=2
в запрос.
Также следует отметить, что если вы хотите, чтобы все записи из базовой таблицы имели цикл, то вы можете сделать это: -
var list = session.QueryOver<BaseExample>().List();
foreach(var item in list) {
if (item is Example1)
Output(Example1) //Do something with Example1
if (item is Example2)
Output(Example2) //Do something with Example2
}