0

我试图弄清楚值对象列表的约定是什么,在这种情况下是一个 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()and.KeyColumn()覆盖成一个约定,这样我就不必在我使用的任何地方都这样做IList<string>。我以为我可以创建一个IHasManyConvention,但它似乎不会影响这个映射。我在我的自定义HasManyConvention类中设置了一个断点,但它不会中断该Options属性。谁能告诉我应该使用什么约定来自动化这个覆盖?

4

1 回答 1

0

使用IHasManyConvention应该有效。试一试IBagConvention,看看是否有效。如果不是,那里面就有bug。

于 2009-12-10T09:49:04.120 回答