NHibernate ISession.Delete

本文关键字:Delete ISession NHibernate | 更新日期: 2023-09-27 18:16:12

我知道这是一个非常简单的问题,但是当调用session时会发生什么呢?使用暂态实体删除?我怀疑抛出了一个异常,但在文档中找不到任何内容。

NHibernate ISession.Delete

不会抛出任何异常,也不会进行任何db调用。

下面是通过的单元测试:

    [Test]
    public void TestDeletionOnTransientObject()
    {
        NormalSalesFlowActivity normalSalesFlowActivity =
            Factories.SalesFlowActivityFactory.CreateNormalSalesFlowActivities(null, 
            opt => opt.NoOfEntities(1)).First();
        Assert.That(normalSalesFlowActivity.Id, Is.EqualTo(0));
        Session.Delete(normalSalesFlowActivity);
    }

createnormalsalesflowactivities的第一个参数是NH Session,如果它是在实体附加到Session时提供的,默认情况下存储到db。

根据我的经验,不会抛出异常