2012-03-12 78 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