gibt es drei vorhandenen Tabellen wie die nachstehend aufgeführten:NHibernate hat viele Verbindungen mit Enkel-Tabelle mit mehreren Many-to-One Referenzen
create table business_units (id number(10,0) not null, ... , primary key (id))
create table categories (id number(10,0) not null, ... , primary key (id))
create table paragraphs (
id number(10,0) not null,
business_unit_fk number(10,0),
category_fk number(10,0),
...,
primary key (id)
)
die Einheiten sind definiert wie:
public class BusinessUnit : Entity {
public virtual IList<Category> Categories { get; protected set; }
}
public class Category : Entity {
public virtual IList<Paragraph> Paragraphs { get; protected set; }
}
public class Paragraph : Entity {
public virtual BusinessUnit Category { get; set; }
public virtual Category Category { get; set; }
}
ich habe hat folgende Überschreibungen versucht:
BusinessUnit
Auto-Mapping-Override:
mapping.HasMany(x => x.Categories)
.Table("pp_paragraphs")
.KeyColumn("business_unit_fk")
.Inverse();
Category
Auto-Mapping-Überschreibung:
mapping.HasMany(x => x.Categories)
.Inverse();
ich habe hat-viele und viele-zu-eins-Konventionen, die Pflege der Spaltennamen nehmen, so dass ich glaube nicht, dass ich hier angeben müssen (oder zumindest denke ich das nicht). Der Auto-Mapper kümmert sich um die Viele-zu-Eins-Referenz für Paragraph
.
das has-many Mapping für BusinessUnit
funktioniert nicht. Wie kann ich das abziehen?