Я должен получить все записи в таблице с nHibernate. Если бы у меня был ключ для всех записей в таблице, то я мог бы циклично выполнить и использовать nHibernate's Get
метод (это кажется неэффективным, хотя), но у меня нет ключей. Я мог также использовать FindAll
но это требует критериев или хранимой процедуры.
Как я могу получить все записи от таблицы?
Таблицы 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