LocalDB:单元测试中的事务死锁?

时间:2017-07-25 10:33:49

标签: nhibernate transactions

我正在使用localdb数据库来检查我的映射是否正常工作(我正在使用nhibernate + fluent nhibernate)。现在,我有一个相当复杂的结构,其中一些项目在几个“聚合”之间共享。我已经配置了聚合,以便它的集合不会被懒惰地加载,我开始在其中一个单元测试中获得事务锁。现在,如果我对sql server运行相同的代码,一切正常。有谁知道这两个版本之间在锁​​定方面是否有任何重大差异?

顺便说一句,我的映射测试包含在事务中,这些事务在测试结束时自动回滚。这是我正在尝试执行的其中一个测试的示例:

using (var session = GestorLigacoes.FabricaSessoes.OpenSession()) {
    using (var tran = session.BeginTransaction()) {
        var area = Area.Nova(new NovaArea(new Acao("luis.abreu"), "Teste", "Area de testes"));
        session.Save(area);
        session.Flush();

        var secretaria = new Secretaria("Secretaria", "SEC", new Acao("luis.abreu"));
        secretaria.AdicionaArea(new AdicionaArea(new Acao("luis.abreu"), secretaria.Versao, area));

        new PersistenceSpecification<Secretaria>(session)
            .VerifyTheMappings(secretaria);
        tran.Rollback();
    }
}

感谢。

此致 路易斯

0 个答案:

没有答案