【发布时间】:2009-12-09 22:14:16
【问题描述】:
我试图弄清楚值对象列表的约定是什么,在本例中是 IList。这是我的域模型的代码片段:
public class RegionSetting : Entity {
public virtual bool Required { get; set; }
public virtual string Name { get; set; }
public virtual IList<string> Options { get; set; }
}
我的自动映射设置为:
public class RegionSettingMap : IAutoMappingOverride<RegionSetting> {
public void Override(AutoMapping<RegionSetting> mapping) {
mapping
.HasMany(x => x.Options).Element("Options")
.Table("RegionSettingOptions")
.KeyColumn("RegionSettingId");
}
}
我想将.Table() 和.KeyColumn() 覆盖变成一个约定,这样我就不必在我使用IList<string> 的任何地方都这样做。我以为我可以创建一个IHasManyConvention,但它似乎并不影响这个映射。我在我的自定义 HasManyConvention 类中设置了一个断点,但它不会因为 Options 属性而中断。谁能告诉我应该使用什么约定来自动化这个覆盖?
【问题讨论】:
标签: c# fluent-nhibernate conventions automapping