2014-07-23 33 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。儘管您可以通過查看代碼來實現自己的實現 –