我正在试图找出值对象列表的约定,在本例中是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
属性而中断。谁能告诉我我应该用什么约定来自动化这种覆盖呢?
答案 0 :(得分:0)
使用IHasManyConvention
应该有效。试试IBagConvention
,看看是否有效。如果没有,那里就有一个错误。