代码之家  ›  专栏  ›  技术社区  ›  Tigraine

NHibernate对象的依赖注入

  •  8
  • Tigraine  · 技术社区  · 17 年前

    我想知道如何告诉NHibernate解决对我的POCO域对象的依赖关系。

    将这些方法提取到策略类是没有问题的,但我想知道如何使NHibernate加载这些方法。

    在将对象交给更高层之前,循环存储库中的对象列表以执行基于get/set的依赖性注入似乎不是一个好的解决方案。

    3 回复  |  直到 17 年前
        1
  •  8
  •   Cristian Libardo    17 年前

    我一直在为类似的任务使用拦截器:

    修改加载实体的拦截器:

    public class MyInterceptor : EmptyInterceptor
    {
        public override bool OnLoad(object entity, object id, object[] state, string[] propertyNames, IType[] types)
        {
            return InjectDependencies(entity as MyEntity);
        }
    }
    

    将其与会话关联:

    nhSessionFactory.OpenSession(myInterceptor);
    

        2
  •  1
  •   Garry Shutler    17 年前

    您可以将其委托给OrderTaxService,它接受Order对象并返回OrderValue对象或类似的内容。

    这将保留域中的逻辑,但不需要将其附加到订单对象。

        3
  •  1
  •   Tim Scott    17 年前
    推荐文章