天天看點

CreateCriteria條件查詢

我們可以使用CreateCriteria進行查詢,可以對查詢到的資料進行過濾等操作。

IList list=session.CreateCriteria(typeof(User)).List<User>();

這樣我們可以查詢到所有的User對象,傳回一個IList<User>

不僅如此,我們還可以對IList<User>進行過濾,從中擷取到我們需要的資料。

IList list=session.CreateCriteria(typeof(User)).List<User>().Add( Expression.Like("Name","admin%"));

這樣就可以在結果集中進行模糊查詢,查詢出Name字段中包含admin的資料。

同樣的還可以進行Eq(),IsNull(),In(),等方式過濾,查詢字段等于某一固定值的,擷取空字段,In字句等。

Nhibernate還提供了直接使用SQL來進行過濾或者查詢sql()。

這樣的方法除了過濾,還可以用來排序,IList list=session.CreateCriteria(typeof(User)).List<User>().AddOrder( Order.Asc("ID"))

根據ID進行排序。

擷取到了IList後我們還可以對IList進行處理,

list.Take(1).SingleOrDefault();

這樣我們可以擷取到結果集中的第一條資料。

當讓我們還可以使用where(),Select()等在結果集中查詢。