Подтвердить что ты не робот

Получить все записи в таблице с помощью nHibernate

Мне нужно получить все записи в таблице с nHibernate. Если бы у меня был ключ для всех записей в таблице, я мог бы использовать цикл nHibernate Get (это кажется неэффективным, хотя), но у меня нет ключей. Я мог бы также использовать FindAll, но для этого требуются критерии или хранимая процедура.

Как я могу получить все записи из таблицы?

4b9b3361

Ответ 1

Таблицы SQL сопоставляются с классами, поэтому для извлечения всех записей из таблицы вы пишете запрос (HQL или Criteria), который извлекает все объекты для заданного типизированного отображения в эту таблицу:

var products = session.CreateCriteria<Product>().List<Product>();

или используя HQL:

var products = session.CreateQuery("from " + typeof(Product)).List<Product>();

или LINQ:

var products = session.Linq<Product>().ToList() // 2.x contrib provider
var products = session.Query<Product>().ToList() // 3.x integrated provider