2

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

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

在我找到的几个示例之后,我想使用 NHibernate 的 IUserType 的实现来转换我的数据,当它被持久保存到我的数据库示例或从我的数据库示例中检索时。

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

4

2 回答 2

1

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

于 2010-10-21T16:04:20.277 回答
1

使用 Autofac 的 BytecodeProvider,您可以在 Autofac contrib 中找到它。

http://chadly.net/post/2009/05/28/Dependency-Injection-with-NHibernate-and-Autofac.aspx

http://code.google.com/p/autofac/downloads/list

于 2011-01-11T15:47:02.973 回答