Tag: stateless session

使用无状态会话延迟查找字典值

在我的应用程序中,我设置了一个三元字典映射,以便对于给定的用户,我可以为属于该用户的对象的每个实例检索“设置”。 也就是说,我有类似的东西: public class User { public virtual IDictionary BazSettings { get; set; } //… 所以每当我有一个Baz对象时,我都可以通过currentUser.BazSettings[baz]查找当前用户的baz设置。 我希望能够使用无状态会话来执行此操作,但是我使用以下代码获得了LazyInitializationException : //int bazId; using (IStatelessSession session = Global.SessionFactory.OpenStatelessSession()) { var currentUser = session.Get(Membership.GetUser().ProviderUserKey); var baz = session.Get(bazId); var bazSettings = currentUser.BazSettings[baz]; // raises `LazyInitializationException` 当我使用ISession ,问题就会消失。 完整的NHibernate错误消息包括文本“没有会话或会话已关闭”。 这是有道理的,因为在使用无状态会话时,实体未连接到会话。 但是,我认为有一种方法可以使用无状态会话来执行此查找。 如何使用无状态会话执行查找currentUser.BazSettings[baz] ?