1. 使用session.delete(t t) 方法
使用這個方法,需要先從資料庫中獲取實體t或者直接new t(), 給id賦值,然後才能呼叫 session.delete(t)
a: var session = nhibernatesession.current; //自己寫的乙個獲取session的方法
var t = seesion.get(999);
session.delete(t);
b: var session = nhibernatesession.current;
var t = new article;
session.delete(t);
2. 使用seesion.delete(string query) 方法
var session = nhibernatesession.current;
var hql = "from article where articleid = 999";
session.delete(hql) ;
3. 使用iquery.executeupdate() 方法
var session = nhibernatesession.current;
var hql = "delete article where articleid = 999";
session.createquery(hql).executeupdate();
4. 使用isqlquery.executeupdate() 方法
var session = nhibernatesession.current;
var sql = "delete from articles where articleid = 999";
session.createsqlquery(sql).executeupdate();
5. 使用named query
var session = nhibernatesession.current;
session.getnamedquery("deletearticleusesqlnamedquery").executeupdate();
session.getnamedquery("deletearticleusehqlnamedquery").executeupdate();
namedquery.hbm.xml :
<?xml version="1.0" encoding="utf-8" ?>
delete article where articleid = 999
nhibernate本來就支援批量刪除,nhibernate的刪除的操作有4個過載的方法,
delete(object obj),
delete(string query),
delete(string query,objetc value,nhibernate.type.itype type),
delete(string query,objetc values,nhibernate.type.itype types),
後面三種方法都支援批量刪除
如delete(" from users where user_age >10"),就可以刪除所有年紀大於10的使用者,注意這是hql查詢,users是實體物件的類名,而不是表名
NHibernate 中刪除資料的幾種方法
1.使用session.delete t t 方法 使用這個方法,需要先從資料庫中獲取實體t或者直接new t 給id賦值,然後才能呼叫 session.delete t a var session nhibernatesession.current 自己寫的乙個獲取session的方法 var t...
NHibernate 中刪除資料的幾種方法
今天下午有人在qq群上問在nhibernate上如何根據條件刪除多條資料,於是我自己就寫了些測試 並總結了一下nhibernate中刪除資料的方式,做個備忘。不過不能保證囊括所有的方式,如果還有別的方式,請園友踴躍提出,我補充上去。1.使用session.delete t t 方法 使用這個方法,需...
NHibernate批量刪除資料的方法
方法一 session.delete 這個方法是最常用的,一共有4個過載的方法 void delete object obj int delete string query int delete string query,object value,itype type int delete stri...