2014-07-23 16 views
0

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

我使用nHibernate 3.2版本。

回答

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()); 
+0

这需要.net 4.0,但我可以用max 3.5 – user1988350

+0

“这个”是指?如果你的意思是autofac,那不是你应该使用的。我只是把它作为一个例子给你看看如何自定义对象创建。你不需要autofac。尽管您可以通过查看代码来实现自己的实现 –