访问 NHibernate ActionQueue 以检查挂起命令列表
Accessing NHibernate ActionQueue to check the list of pending commands
我有一些非常基本的代码:
NHibernate.ISession session = doSomeStuffWithNHibernateSession();
使用 Visual Studio 调试器中的对象检查器,我能够打开会话对象的 ActionQueue
并列出所有待处理的 NHibernate 命令。
有没有办法以编程方式访问它?能够访问 InsertionCount
或 HasAnyQueuedAction
之类的属性就足够了。
这应该有效 (使用明确的类型名称而不是 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;
我有一些非常基本的代码:
NHibernate.ISession session = doSomeStuffWithNHibernateSession();
使用 Visual Studio 调试器中的对象检查器,我能够打开会话对象的 ActionQueue
并列出所有待处理的 NHibernate 命令。
有没有办法以编程方式访问它?能够访问 InsertionCount
或 HasAnyQueuedAction
之类的属性就足够了。
这应该有效 (使用明确的类型名称而不是 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;