我正在使用FluentNHibernate,主要是在必要时偶尔进行映射覆盖自动化。
我正在尝试设置一个不寻常的实体类。当有人设置电话号码时,我想计算然后自动保留删除了非数字字符(StrippedTelephoneNumber)以及原始TelephoneNumber的号码。
即:(+ 44)7723 9982 199 => 4477239982199
我正在尝试创建一个具有以下结构的类,但是当我运行应用程序时,我不断收到异常。我的代码如下(实体是具有Id属性的基类):
public class TelephoneEntity : Entity {
// Backing Field
private string _telephoneNumber;
public virtual string TelephoneNumber {
get {
return _telephoneNumber;
}
set {
_telephoneNumber = value;
if(_telephoneNumber != null) {
StrippedTelephoneNumber = new string(_telephoneNumber
.Where(c => char.IsDigit(c)).ToArray());
}
}
}
public virtual string StrippedTelephoneNumber { get; set; }
}
我主要使用自动化,所以我没有映射类,但我让任何人试图解决这个问题:
public class TelephoneEntityMapping : IAutoMappingOverride<TelephoneEntity> {
public void Override(AutoMapping<TelephoneEntity> mapping) {
mapping.Id(m => m.Id);
}
}
有谁能告诉我这里哪里出错?