【发布时间】:2012-06-24 13:23:27
【问题描述】:
我正在尝试让 fNH 映射到自定义类型,但我遇到了困难。
我希望 fNH 通过自定义类型的接口分配其值。我还需要 nHibernate 来保留实体上的自定义类型的实例。访问属性时总会实例化,不要覆盖实例,只设置包装的值。
当我尝试以下映射时,它会抛出异常“在类 'Entities.User 中找不到属性 'Value' 的 getter”
想法?
fNH 映射:
Map(x =>((IBypassSecurity<string>)x.SecuredPinNumber).Value,"[PinNumber]");
域示例:
public class User
{
public SecureField<string> SecuredPinNumber {get;private set;}
}
public class SecureField<T> : IBypassSecurity<T>
{
public T Value { get; set; } // would apply security rules, for 'normal' use
T IBypassSecurity<T>.Value {get;set;} // gets/sets the value directy, no security.
}
// allows nHibernate to assign the value without any security checks
public interface IBypassSecurity<T>
{
T Value {get;set;}
}
【问题讨论】:
标签: nhibernate fluent-nhibernate nhibernate-mapping fluent-nhibernate-mapping