NHibernate使用自定义工厂创建对象

时间:2014-07-23 11:00:41

标签: c# nhibernate castle

我需要nHibernate的帮助。我的项目需要使用我的自定义工厂来创建模型类而不是使用构造函数。但我不知道如何使用工厂强制nHibernate。我发现article描述了没有默认构造函数的nhibernate,但它没有编译,因为在类CustomProxyFactory中,我们使用LazyInitializer和LazyFieldInterceptor参数调用SetInterceptors,它不实现IInterceptor接口。

我使用的是nHibernate 3.2版本。

1 个答案:

答案 0 :(得分:0)

我建议你看看autofac nhibernate集成作为一个很好的例子:

https://github.com/autofac/Autofac/tree/master/Extras/Source/Autofac.Extras.NHibernate/Bytecode

然后,您必须将优化器设置为nhibernate,如:

    NHibernate.Cfg.Environment.BytecodeProvider = new AutofacBytecodeProvider(GetLifetimeScope, new DefaultProxyFactoryFactory(), new DefaultCollectionTypeFactory());