使用Autofac将服务注入到NHibernate的IUserType实现中

时间:2010-10-19 15:43:20

标签: asp.net nhibernate autofac

我正在使用NHibernate将以下类映射到ASP.NET MVC应用程序中的Oracle数据库:

public class User
{
    // Needs to be encrypted/decrypted when persisting
    public virtual string Question { get; set; }
}

根据我发现的几个例子,我想使用NHibernate的IUserType实现来转换我的数据,当它保存到我的数据库example或从我的数据库{{3}}检索时。

由于我已经编写了EncryptionService类来处理应用程序其他部分的数据加密,因此我想将其注入我的用户类型。有没有办法使用Autofac对IUserType执行构造函数注入?

2 个答案:

答案 0 :(得分:1)

NHibernate负责创建IUserType实现的实例。如果您希望这个可配置,您可以从AutoFac容器查询服务(显然这不是依赖注入,更多是服务定位器)。或者您可以实现IConfigurable,它允许您接受参数字典。其中一个参数可以是类名。

答案 1 :(得分:1)