有没有办法推广这种方法
本文关键字:方法 有没有 | 更新日期: 2023-09-27 17:59:29
我需要在我的基本数据访问类中有一个方法,如下所示:
public virtual void InitializaEntity(T entity, object relatedEntity)
{
using (session)
{
T mergedEntity = (T)session.Merge(entity);
NHibernateUtil.Initialize(relatedEntity);
}
}
我想将一个相关的对象惰性地初始化为主对象。我可以对每个关系使用下面这样的方法,但我喜欢推广这种方法。
public Keyword GetKeywordCategoryByKewordId(long id)
{
Keyword k = session.Get<Keyword>(id);
NHibernateUtil.Initialize(k.Categories);
session.Close();
return k;
}
有什么解决办法吗?
我不完全清楚你想要概括什么,但是:
你说你想懒惰地加载它们,但如果你总是立即调用Initialize
,那么你还不如关闭懒惰加载。或者,如果你在网络应用程序中,你可以每次请求使用一个会话,忘记必须自己关闭会话,尽情地懒惰加载。