当前位置:  开发笔记 > 编程语言 > 正文

使用NHibernate对象进行依赖注入

如何解决《使用NHibernate对象进行依赖注入》经验,为你挑选了1个好方法。

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

我发现像CalculateOrderTax这样的方法应该在Domain对象中,因为它们编码特定于域的业务规则.但是,一旦我有两个违反SRP的话.

将这些方法提取到Strategy类是没有问题的,但我想知道如何使NHibernate加载它们.

在将对象移交给更高层之前,循环访问存储库中的对象列表以进行基于Dependecy注入的获取/设置似乎不是一个好的解决方案.

我现在也在使用Castle Windsor进行Depency注射.



1> Cristian Lib..:

我一直在使用拦截器来完成类似的任务:

一个修改加载实体的拦截器:

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版本中对自定义构造函数注入的更好支持,但我现在似乎无法找到引用.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有