2012-03-12 57 views
2

我有问题删除行使用流利nhibernate。如果我执行使用或者被注释掉的delete语句测试通过的以下方法,并说一切都很酷,但是当我检查数据的基础行仍然存在流利Nhibernate删除iregularity

[TestMethod] 
    public void DeleteAdhesiveWithoutCascade() 
    { 
     using (var session = sessionFactory.OpenSession()) 
     { 
      //session.Delete(session.Load<Adhesive>(8)); 
      //IQuery query = session.CreateQuery("FROM Adhesive WHERE ID = 8"); 
     } 
    } 

回答

2

之前尝试

[TestMethod] 
public void DeleteAdhesiveWithoutCascade() 
{ 
    using (var session = sessionFactory.OpenSession()) 
    using (var tx = session.BeginTransaction()) 
    { 
     session.Delete(session.Load<Adhesive>(8)); 
     //IQuery query = session.CreateQuery("FROM Adhesive WHERE ID = 8"); 
     tx.Commit(); 
    } 
} 

[TestMethod] 
public void DeleteAdhesiveWithoutCascade() 
{ 
    using (var session = sessionFactory.OpenSession()) 
    { 
     session.Delete(session.Load<Adhesive>(8)); 
     //IQuery query = session.CreateQuery("FROM Adhesive WHERE ID = 8"); 
     session.Flush(); 
    } 
} 
+0

干杯HBC - session.flush() – beaumondo 2012-03-12 15:22:42

1

你应该打开一个TRANSATION。反正尝试使用session.Flush();关闭}

+0

会做 - 欢呼在任何情况下更好地使用TRANSATION尖端 – beaumondo 2012-03-12 15:23:41

+1

@beaumondo。 – 2012-03-12 18:38:29

+0

我已经更新了所有在交易中执行的写入操作 - 欢呼声 – beaumondo 2012-03-13 08:19:11