2009-12-09 60 views
0

我想弄清楚什么约定会是一个值对象列表,在这种情况下,IList。这里是我的域模型的代码片段:什么是价值对象列表的流利NHibernate的公约

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

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

相关问题