我正在使用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执行构造函数注入?
答案 0 :(得分:1)
NHibernate负责创建IUserType实现的实例。如果您希望这个可配置,您可以从AutoFac容器查询服务(显然这不是依赖注入,更多是服务定位器)。或者您可以实现IConfigurable,它允许您接受参数字典。其中一个参数可以是类名。
答案 1 :(得分:1)
使用您可以在Autofac contrib中找到的Autofac的BytecodeProvider。
http://chadly.net/post/2009/05/28/Dependency-Injection-with-NHibernate-and-Autofac.aspx