我需要将一个字段序列化为JSON并将其存储在数据库中。为此,我实现了IUserType接口。但是,由于测试目的,我想在构造函数参数中传递一个序列化程序接口。理想情况下,我想通过告诉NH使用Ninject创建我的IUserType实现的实例来实现这一点。这有可能吗?
答案 0 :(得分:1)
Cfg.Environment.BytecodeProvider.ObjectsFactory
负责创建NHibernate使用的对象。您可以实现IBytecodeProvider来注入自己的例子:
class MyBytecodeProvider : NHibernate.Bytecode.Lightweight.BytecodeProviderImpl, IObjectsFactory
{
public override IObjectsFactory ObjectsFactory
{
get { return this; }
}
#region IObjectsFactory implementation
public object CreateInstance(System.Type type)
{
// TODO:
}
public object CreateInstance(System.Type type, bool nonPublic)
{
// TODO:
}
public object CreateInstance(System.Type type, params object[] ctorArgs)
{
// TODO:
}
#endregion
}