NHibernate: Zuordnung eins-zu-viele-Beziehung zu füllen, eine Sammlung, die ohne die Verwendung einer zweiten Klasse
Die Datenbank, die ich versuche, die Karte mit NHibernate hat einen Plan-Tabelle und eine Tabelle Date. Ein plan kann in Zusammenhang mit vielen Terminen, dies wird modelliert, indem die Datum-Tabelle mit einer foreign-key-Spalte PLAN_ID.
Diese sind meine aktuellen Klassen und Zuordnungen:
public class Plan
{
public virtual int Id { get; set; }
public virtual IList<PlanDate> Dates { get; set; }
}
public class PlanDate
{
public virtual int Id { get; set; }
public virtual int PlanId { get; set; }
public virtual DateTime? Date { get; set; }
}
<class name="Plan" table="PLAN">
<id name="Id" unsaved-value="0">
<column name="ID" not-null="true" />
<generator class="native"/>
</id>
<bag name="Dates">
<key column="PLAN_ID" />
<one-to-many class="PlanDate" />
</bag>
</class>
<class name="PlanDate" table="PLAN_DATE">
<id name="Id" unsaved-value="0">
<column name="ID" not-null="true" />
<generator class="native"/>
</id>
<property name="Date" column="DATE" type="DateTime"/>
<property name="PlanId" column="PLAN_ID" type="integer"/>
</class>
Diese richtig ausfüllt die Termine Sammlung in einer Plan-Objekt mit PlanDate Objekte. Aber idealerweise würde ich gerne eine Sammlung von DateTime-Objekten im Plan Klasse. Ich habe keine Verwendung für die PlanDate anderen Klasse als für die Datumsangaben enthalten, und ich werde nicht zum aktualisieren der Daten in der Datenbank. Beispiel:
public class Plan
{
public virtual int Id { get; set; }
public virtual IList<DateTime> Dates { get; set; }
}
Gibt es eine Möglichkeit für die Zuordnung zu dieser Klasse Struktur, und, um loszuwerden, das PlanDate Klasse?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie mit Hilfe dieser mapping:
Die xml-Knoten
<index column="Position" />
verweist auf die position des Elements in der Liste.Ihrer Klasse würde genau so, wie Sie es wollte:
Finden Sie mehr info hier.