2011-01-15 9 views
0

Ich versuche, zwei Tabellen in einer Entitäten abzubilden, da diese Tabellen wirklich eine Einheit ist. Ich habe llblgen und Visual NHibernate ohne Erfolg als beide DesignerORMs Vererbung Unterstützung

versucht Visual NHibernate kann nicht eins zu eins Beziehung sehen, aber ich habe es implementiert. Vielleicht hat mein Datenbankschema nicht alle Anforderungen für eine solche Vererbungsimplementierung erfüllt. Allerdings dachte ich, dass alles, was ich brauche, eine Eins-zu-Eins-Beziehung zu haben, um diese Art der Vererbung zu machen.

Vielleicht haben einige von euch es schon versucht?

Edit: Hinzufügen von Tabellen Bild alt text

ich meine folgende Klasse

public class Expense { 
    public int Id {get; set;} 
    public int Type {get; set;} 
    public decimal Amount {get; set;} 
    public string SomeAdditionalInfo {get; set;} 
} 
+2

Ihre Frage ist unklar. Visual NH ist ein Designer, der nicht unbedingt alle Funktionen von NH unterstützt. Wenn zwei Tabellen eine Entität bilden, sehe ich die Vererbung nicht. Warum zeigst du uns nicht die Klasse (n) und Tische? –

+0

Vielleicht haben Sie Recht, es ist keine Vererbung, aber ich muss wissen, ob es möglich ist, zwei Tabellen in einer Entität abzubilden. Ich kann Transact abstrakt machen und Expense wird es erben. Auf diese Weise wird es funktionieren. – Danil

+0

Visual NHibernate kann zwei Tabellen einer einzelnen Entität zuordnen, wenn dies gewünscht ist. Um dies zu tun: Klicken Sie mit der rechten Maustaste auf die referenzierte Entität (Transact) in der Entitätsansicht (Expense). Klicken Sie im Kontextmenü auf "In Aufwand zusammenführen". Die Felder von Transact werden in Expense zusammengeführt und die Transact-Entität wird aus dem Modell entfernt. Beachten Sie, dass "In xxxx zusammenführen" nur im Kontextmenü für 1: 1-Referenzen angezeigt wird. Bitte melden Sie Probleme mit Visual NHibernate zu http://support.slyce.com –

Antwort

0

Sie gehen zu wollen, werfen Sie einen Blick auf die Hibernate-Dokumentation für die Vererbung Mapping, insbesondere die wollen Tabelle pro -Hierarchie-Modell. Sie sagen, Sie können Transact abstrakt machen und Ausgaben davon erben lassen, also denke ich, dass dies Ihr Problem lösen sollte, wenn ich es richtig verstehe.

http://docs.jboss.org/hibernate/core/3.5/reference/en/html/inheritance.html

Alternativ, wenn Sie die Tabelle pro Hierarchie Methode nicht verwenden wollen, gibt es ein paar andere Möglichkeiten, wie Sie Ihr Ziel in diesem Link skizzierte erreichen könnte.