Nhibernate學習筆記(2)

2022-05-03 22:30:29 字數 1808 閱讀 4076

接著來學習條件查詢(criteria queries)

1、建立icriteria

nhibernate.icriteria介面支援特定條件的查詢。isession可以建立

icriteria例項。

icriteria criteria 

=session.createcriteria(

typeof

(person));

criteria.setmaxresults(

50);

ilist<

person

> result 

=criteria.list();

2、使用restrictions新增查詢條件

restrictions是hibernate3代替hibernate2中的expression,但在hibernate3中expression還是可以使用的

icriteria criteria 

=session.createcriteria(

typeof

(person));

criteria.add(restrictions.like(

"firstname", 

"name%

"));

criteria.add(restrictions.eq(

"age", 

12));

ilist

<

person

>

result 

=criteria.list

<

person

>

();3、使用order排序

使用icriteria.order對結果集排序,第二個引數true代表asc,false代表desc。

icriteria criteria 

=session.createcriteria(

typeof

(person));

criteria.addorder(

neworder(

"firstname", 

true

));ilist

<

person

>

result 

=criteria.list

<

person

>

();4、其他查詢

qbe 摘自:nhibernate之旅(4):探索查詢之條件查詢(criteria query)

根據示例查詢(qbe,query by example)是條件查詢的一種特殊情況,nhibernate.criterion.example類根據你指定的例項創造查詢條件。其典型的用法:建立乙個example例項;在example例項上設定值;根據example和設定nhibernate返回其物件集合。

例如下面的例子,按照指定customer查詢資料庫裡的記錄:

public 

ilist

query()

; return _session.createcriteria(typeof(customer))

.add(example.create(customersample))

.list();

}

你可以自行調整example使之更實用:

public 

ilist

usequerybyexample_getcustomer(customer customersample)

還有hql。暫時不學習~~

Nhibernate學習目錄

第一章 nhibernate入門 第一講 nhibernate架構剖析 第二講 搭建第乙個nhibernate應用程式 第三講 nhibernate.cfg.xml的配置及注意事項 第二章 nhibernate中的關係對映 第一講 nhibernate中單向一對多對映 第二講 nhibernate中...

NHibernate學習筆記 並不美好的開始

終於下決定學習nhibernate了,先從乙個簡單的查詢開始,剛開始還以為很簡單,沒有想到出現的問題不少。1 配置檔案小結 配置檔案配置方法很多,這裡不全面,只記錄經本人測試使用的情況 configuration config new configuration configure 即可此訪問配置檔...

原 Nhibernate一些筆記

一 nhibernate五部曲 1 在資料庫中建立.net類持久化的對應表 建資料庫 2 建立需要持久化的.net類 編寫model類 4 建立nh的配置檔案,告訴nh怎麼樣連線資料庫 nhibernate.cfg.xml 5 使用nh提供的api create delete update 二 nh...