【发布时间】:2015-01-13 00:14:05
【问题描述】:
我需要将一个字段序列化为 JSON 并将其存储在数据库中。为此,我实现了 IUserType 接口。但是,出于测试目的,我想在构造函数参数中传递一个序列化接口。理想情况下,我想通过告诉 NH 使用 Ninject 创建我的 IUserType 实现的实例来实现这一点。这可能吗?
【问题讨论】:
标签: nhibernate fluent-nhibernate
我需要将一个字段序列化为 JSON 并将其存储在数据库中。为此,我实现了 IUserType 接口。但是,出于测试目的,我想在构造函数参数中传递一个序列化接口。理想情况下,我想通过告诉 NH 使用 Ninject 创建我的 IUserType 实现的实例来实现这一点。这可能吗?
【问题讨论】:
标签: nhibernate fluent-nhibernate
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
}
【讨论】: