Ich versuche, die Tabelle pro Unterklasse (die fließend-nhibernate Automaps von Standard) mit einer Klassenstruktur wie folgt zu verwenden:Zuordnen einer abgeleiteten Klasse mit zusätzlichen Sammlung Eigenschaft in 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();
}
}
}
Statt Wenn Sie eine neue Tabelle "IncludesXProduct" hinzufügen, um die Viele-zu-Viele-Zuordnung darzustellen, fügt sie der Produkttabelle eine Eigenschaft "ProductPackageId" hinzu. Natürlich funktioniert das Fortbestehen dieses Schemas nicht.
Habe ich etwas Einfaches verpasst oder wird diese Art von Sache nicht wirklich von NHibernate unterstützt?