我有以下课程:
public class PhoneModel
{
public virtual ModelIdentifier SupportModels
}
public class ModelIdentifier
{
public virtual string Name
public virtual IList<string> Values
}
这是我映射的方式:
mapping.Component(x => x.SuppoertedModel, y =>
{
y.Map(x => x.Name, "FAMILY_ID");
y.HasMany(x => x.Values).Element("VALUE").Table("SUPPORTEDMODULS")
}
创建了2个表:
问题在于,当我添加值时,它不会将其保存到SUPPORTEDMODELS表:
var pm = new PhoneModel();
pm.SupportedModels.Name = "11"
pm.SupportedModels.Values.Add("34");
答案 0 :(得分:0)
HasMany(x => x.Values).Cascade.AllDeleteOrphan()
btw:如果Values
的顺序不重要,那么将其更改为ICollection<string>
和HasMany().AsSet()
,因为这样可以让NH优化某些内容,代码也不能依赖于使用sql时不可靠。