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 帮助