NHibernate Isession管理

Posted Rocken.li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NHibernate Isession管理相关的知识,希望对你有一定的参考价值。

一个Session

 foreach (var item in favoriteId)
                {
                    if (!string.IsNullOrEmpty(item))
                    {
                        var favorite = _session.Get<Favorite>(Guid.Parse(item));
                        if (favorite != null)
                        {
                            // 删除资源
                            var favoriteList = _session.CreateCriteria<Favorite>().Add(Restrictions.Eq("ResId", favorite.ResId)).List();
                            if (favoriteList != null && favoriteList.Count <= 1)
                            {
                                _session.Delete(new FavoriteResourceInfo { ResId = favorite.ResId });
                            }
                            // 删除关联
                            var favoriteLabelList = _session.CreateCriteria<FavoriteLabel>().Add(Restrictions.Eq("FavoriteId", Guid.Parse(item))).List<FavoriteLabel>();  //relationResponse.GetRelationByFavoriteId(Guid.Parse(item));
                            if (favoriteLabelList != null && favoriteLabelList.Count > 0)
                                foreach (var favoriteLabel in favoriteLabelList)
                                {
                                    _session.Delete(favoriteLabel);
                                }
                            // 删除收藏
                            _session.Delete(favorite);
                        }
                    }

 

以上是关于NHibernate Isession管理的主要内容,如果未能解决你的问题,请参考以下文章

当 CacheMode=Ignore 时,为啥 NHibernate.ISession.CreateQuery 会返回与 CreateSQLQuery 不同的东西?

如何让 NHibernate ISession 缓存主键未检索到的实体

会话已关闭对象名称:'ISession'。在 NHibernate.Impl.AbstractSessionImpl.ErrorIfClosed() - 如何阻止会话过早关闭

Nhibernate in asp,net ISession 帮助

NHibernate ISession 与 Castle Windsor IoC 的循环依赖

NHibernate ISession Flush:何时何地使用它,为啥?