【问题标题】:(Fluent) NHibernate initialize IUserType using Ninject?(Fluent) NHibernate 使用 Ninject 初始化 IUserType?
【发布时间】:2015-01-13 00:14:05
【问题描述】:

我需要将一个字段序列化为 JSON 并将其存储在数据库中。为此,我实现了 IUserType 接口。但是,出于测试目的,我想在构造函数参数中传递一个序列化接口。理想情况下,我想通过告诉 NH 使用 Ninject 创建我的 IUserType 实现的实例来实现这一点。这可能吗?

【问题讨论】:

    标签: nhibernate fluent-nhibernate


    【解决方案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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多