Ist es möglich, einen zusammengesetzten Schlüssel in fließend nhibernate, wo die Hälfte des Schlüssels ist ein Identitätsfeld in der Datenbank abzubilden?

StackOverflow https://stackoverflow.com/questions/1615647

Frage

Wie die Frage Staaten ist es möglich, einen zusammengesetzten Schlüssel in fließend nhibernate zur Karte (oder nicht fließend nehme ich an), wo einer der beiden in der Verbund verwendeten Felder ist ein Identitätsfeld?

Ich habe eine Tabelle, in der ein Teil des Primärschlüssels ist ein Identitätsfeld und der andere ist ein Mieter-ID. Dies ist ein Vermächtnis Datenbank, in dem Verbundschlüssel als Fremdschlüssel verwendet wird, am ganzen Körper, so die Datenbank zu modifizieren wäre ganz erheblich.

Danke!

War es hilfreich?

Lösung

Wenn es wirklich eine Identitätsspalte, dann ist es garantiert für jeden Datensatz eindeutig sein, nicht wahr?

Wenn ja, können Sie das Mietverhältnis ID vollständig für Kartierungszwecke ignorieren. Ihre Identität Felder in Ihrer primären Tabelle eindeutig sein. - Und Ihre Fremdschlüssel-Referenzen werden diese eindeutige ID enthalten, so dass das Mietverhältnis ID eigentlich irrelevant ist

NHibernate nicht wirklich egal, ob Sie Ihre Datenbank-Schema genau kartieren. Ich habe mit Legacy-Datenbanken gearbeitet, bevor, wo ich eine eindeutige Einschränkung auf einem Nicht-Schlüsselspalt definiert habe und dann gesagt NHibernate zu verwenden, die als Primärschlüssel - es funktioniert, und es kann ordentlich alle Arten von schrecklicher Composite-Schlüsselbeziehung umgehen Zuordnungen.

Denken Sie darüber nach. Counter-intuitive, aber es wird wahrscheinlich funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top