Доступ к NHibernate ActionQueue для проверки списка ожидающих команд - PullRequest
1 голос
/ 29 января 2020

У меня есть очень простой c код:

NHibernate.ISession session = doSomeStuffWithNHibernateSession();

Используя инспектор объектов в отладчике Visual Studio, я могу открыть ActionQueue объекта сеанса и вывести список всех ожидающих Команды NHibernate.

Есть ли способ получить к нему программный доступ? Было бы достаточно иметь доступ к таким свойствам, как InsertionCount или HasAnyQueuedAction.

1 Ответ

1 голос
/ 30 января 2020

Это должно работать (используя явные имена типов вместо var, чтобы упростить их поиск в NH)

NHibernate.ISession session = ...

// here we get the access to underling implementation
NHibernate.Impl.SessionImpl sessionImpl = session
    .GetSessionImplementation() as NHibernate.Impl.SessionImpl;

// and we can now work with action queue
var actionQueue = sessionImpl.ActionQueue;

// and check it
var count               = actionQueue.InsertionsCount;
var hasAnyQueuedActions = actionQueue.HasAnyQueuedActions;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...