NHibernate删除操作

时间:2009-05-19 07:41:17

标签: nhibernate

NHibernate不执行删除操作的原因是什么?

 public bool Delete(MyType model)
 {
     using (var session = _sessionFactory.OpenSession())
         session.Delete(model);
     return true;
 }

我试图调用session.Clear()方法,这也没有帮助。我很困惑。 :/

在这种情况下,MyType只有Id& Name。创建操作成功。

2 个答案:

答案 0 :(得分:4)

刷新会话,或将Delete放入交易中并提交交易。

NHibernate默认情况下会尝试尽可能推迟执行SQL语句。

答案 1 :(得分:0)

这有助于......

using (var session = _sessionFactory.OpenSession())
{
    using (ITransaction tx = session.BeginTransaction())
    {
        session.Delete(model);
        session.Flush();
        tx.Commit();
    }
}