gpt4 book ai didi

nhibernate - 如何从 CaSTLe ActiveRecord SessionScope 检索当前的 NHibernate Session 对象

转载 作者:行者123 更新时间:2023-12-04 14:17:49 25 4
gpt4 key购买 nike

我有一个开放的 CaSTLe ActiveRecord SessionScope。
我需要使用包装在 SessionScope 中的 nhibernate session 。

如何从 SessionScope 检索当前的 NHibernate session 对象?

非常感谢您的答复。

[更新]
我有这个代码

    ISession session = SessionScope.Current.GetSession( );

但我不知道传递给 GetSession 参数的是什么

最佳答案

我用这个代码解决了它:

        ISessionFactoryHolder holder = ActiveRecordMediator.GetSessionFactoryHolder();
ISessionScope activeScope = holder.ThreadScopeInfo.GetRegisteredScope();
ISession session = null;
var key = holder.GetSessionFactory(typeof(ActiveRecordBase));
if (activeScope == null)
{
session = holder.CreateSession(typeof(ActiveRecordBase));
}
else
{
if (activeScope.IsKeyKnown(key))
session = activeScope.GetSession(key);
else
session = holder.GetSessionFactory(typeof(ActiveRecordBase)).OpenSession();
}

关于nhibernate - 如何从 CaSTLe ActiveRecord SessionScope 检索当前的 NHibernate Session 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7994317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com