0
我試圖用類結構使用表每個子類(其流利,NHibernate的automaps默認),如下所示:映射額外集合屬性派生類中的NHibernate
public class Product
{
public virtual int Id{ get; set; }
public virtual string Title{ get; set; }
}
public class ProductPackage : Product
{
public ProductPackage(){ Includes = new List<Product>(); }
public virtual IList<Prodcut> Includes{ get; private set; }
[EditorBrowsable(EditorBrowsableState.Never)]
public class ProductPackageAutoOverride : IAutoMappingOverride<ProductPackage>
{
public void Override(AutoMap<ProductPackage> mapping)
{
mapping.HasManyToMany(x => x.Includes)
.WithTableName("IncludesXProduct")
.WithParentKeyColumn("ProductId")
.WithChildKeyColumn("IncludesProductId")
.Cascade.SaveUpdate();
}
}
}
相反添加一個新表「IncludesXProduct」來表示多對多映射,它將一個屬性「ProductPackageId」添加到Product表中。當然堅持這個模式是行不通的。
我錯過了一些簡單的東西,或者這種類型的東西沒有真正被NHibernate支持?