什么是价值对象列表的Fluent NHibernate约定

时间:2009-12-09 22:14:17

标签: c# fluent-nhibernate conventions automapping

我正在试图找出值对象列表的约定,在本例中是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属性而中断。谁能告诉我我应该用什么约定来自动化这种覆盖呢?

1 个答案:

答案 0 :(得分:0)

使用IHasManyConvention应该有效。试试IBagConvention,看看是否有效。如果没有,那里就有一个错误。