1. 返回所有的會員:
string query = "from Member";
IList member = session.CreateQuery(query).List();
2. 返回以b開頭的會員:
string query = "from Member m where m.name like b%";
IList members= session.CreateQuery(query).List();
3. 返回所有的會員ID和名稱:
string query = "select m.MemberId, m.Name from Member m";
IList members = session.CreateQuery(query).List();
注意:此處的MemberId, Name均為Member對象的屬性.
返回的並不是members對象的集合,而是一個一維數組的集合,
其中array[0]為MemberId, array[1]為Name
4. 返回會員的總數:(用此方法時,session 和transcation都不能關閉和提交,否則IEnumerrator將取不到資料)
string query = "select count(*) from Member";
IEnumerator e = Session.CreateQuery(query).Enumerable().GetEnumerator();
e.MoveNext;
int rowCount = (int)(e.Current);
5. 返回指定(從20-40)的會員
string query = "from Member";
IList Members = session.CreateQuery(query)
.SetFirstResult(20).SetMaxResults(20).List()
Nhiberante執行sql語句
Using Nhibernate.Engine;
string sql = "update s_companyconfig set isvalid={0} where numconpanyid={1} and numModelId={2}";
sql = string.Format(sql, numVlaid, numcompanyid, numModel);
NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();
ISessionFactoryImplementor factory = (ISessionFactoryImplementor)cfg.BuildSessionFactory();
System.Data.IDbCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandText = sql;
System.Data.IDbConnection conn = factory.OpenConnection();
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();