SQL Server表在调用NHibernate事务提交后似乎被锁定

时间:2012-01-25 00:41:07

标签: asp.net-mvc-3 nhibernate ncommon

在下面的代码完成后,一切都很顺利。当我转到我的SQL管理器并查询表时,它永远不会读完它。执行前表中只有一行,即删除。

代码:

AgencyQueue aQueue = null;

        NHUnitOfWork workO = _agencyQueueRepository.UnitOfWork<NHUnitOfWork>();            

        aQueue = _agencyQueueRepository.First<AgencyQueue>(x => x.CertificateId == id);

        if (aQueue != null)
        {
           // _agencyQueueRepository.Delete(aQueue);
            workO.GetSession<AgencyQueue>().Delete(aQueue);
            workO.GetSession<AgencyQueue>().FlushMode = FlushMode.Always;
            //workO.GetSession<AgencyQueue>().Flush();

            using (var tx = workO.GetSession<AgencyQueue>().BeginTransaction())
            {

                tx.Commit();
                workO.GetSession<AgencyQueue>().Delete(aQueue);
                tx.Dispose();
            }

        }

        /*using (var scope = new UnitOfWorkScope())
        {
            aQueue = _agencyQueueRepository.First<AgencyQueue>(x => x.CertificateId == id);

            if (aQueue != null)
            {
                _agencyQueueRepository.Delete(aQueue);
                scope.Commit();

                //UnitOfWorkManager.CurrentTransactionManager.CurrentUnitOfWork.Flush();
                scope.Complete();
            }
        }*/

注释代码表示我们通常在处理域持久性方面所做的工作,但它目前无法正常工作。这就是我使用会话级方法的原因。

我对NHibernate很陌生,但在研究了我们遇到过的许多问题之后,似乎我们没有像其他许多问题那样使用它。

有没有其他人看过这个问题,或者知道我做错了什么?

0 个答案:

没有答案
相关问题