Беглый Nhibernate удаление неправильности - PullRequest
2 голосов
/ 12 марта 2012

У меня проблемы с удалением строки, используя свободный nhibernate. Если я выполняю описанный ниже метод с использованием одного из закомментированных операторов удаления, тест проходит и говорит, что все круто, но когда я проверяю базу данных, строка все еще там

    [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 ]

2 голосов
/ 12 марта 2012

Попробуйте

[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();
    }
}
1 голос
/ 12 марта 2012

Вы должны открыть перевод.В любом случае попробуйте использовать session.Flush(); перед закрытием }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...