在NHibernate中删除对象可以使用:
1。无条件删除:session.delet(object); 
2。根据一种条件删除:session.Delete("from Student o where o.id=?",id,NHibernateUtil.String)
如果我要根据姓名和所选课程两种条件删除该怎么做?
         

解决方案 »

  1.   

    使用ISession.Delete()会把对象的状态从数据库中移除。当然,你的应用程序可能仍然持有一个指向它的引用。所以,最好这样理解:Delete()的用途是把一个持久化实例变成临时实例。 你也可以通过传递给Delete()一个NHibernate 查询字符串来一次性删除很多对象。删除对象顺序没有要求,不会引发外键约束冲突。当然,有可能引发在外键字段定义的NOT NULL约束冲突
      

  2.   

     也可以通过传递给Delete()一个NHibernate 查询字符串来一次性删除很多对象。能给我举个例子吗?谢谢!