In NHibernate ist Schritt geeignet für Identitätsschlüssel, der von der Gruppe einzigartig ist? Was ist angemessen?
-
18-09-2019 - |
Frage
Ich bin eine Verbindung zu einer Legacy-Datenbank, die unser ERP-System ist. Ich habe eine Tabelle, die zusammengesetzte Schlüssel und eines dieser Felder verwendet erhöht, aber es ist eindeutig innerhalb einer Untergruppe von Datensätzen. Ich habe keine Möglichkeit, dies zu ändern, obwohl ich wünschte, ich könnte.
Zum Beispiel, CustomerId_Field, SequenceID_Field 49, 1 49, 2 200, 1 200, 2 200, 3 200, 4
Der typische Einsatz dieser MULTI-USER Anwendung sieht wie folgt aus: INSERT INTO MYTABLE (CustomerId_Field, SequenceID_Field) VALUES (? CustomerId_Field, SELECT MAX (SequenceID_Field) + 1 WHERE CustomerId_Field = CustomerId_Field?);
Es ist mein Verständnis, dass mit Schlüsselerzeugung mit Schritt so etwas wie dies erreichen wird, aber es scheint mir, dass Schritt nur zum Erhöhen einer Spalte, die über eine gesamte Tabelle eindeutig ist ausgerichtet ist. Was ist der beste Weg, um meine Situation zu handhaben und wie?
Danke.
Lösung
Sie müssen den Schlüssel selbst zu generieren, und geben Sie es an NH.