Erstellen Sie nicht gruppierten Primärschlüssel mit NHibernate und Schema
-
27-09-2019 - |
Frage
Wir verwenden Schema über Activerecord. Standardmäßig erzeugt er eine Tabelle wie folgt aus:
create table List (
Id UNIQUEIDENTIFIER not null,
Name NVARCHAR(255) null,
OwnerId UNIQUEIDENTIFIER null,
primary key ( Id ))
SQL Server dann standardmäßig auf einen Clustered-Index für den Primärschlüssel hinzufügen. Aber ich will das nicht gruppiert sein. Ich möchte einen gruppierten Index zu ownerID hinzuzufügen, da dies wesentlich effizienter sein wird.
Nun, ich könnte ein Skript ausführen, danach einen nicht gruppierten Index zu erstellen. Dies würde die ursprüngliche Primärschlüsseleinschränkung beinhaltet Entfernen und Hinzufügen von einem nicht gruppiert ein. Allerdings hat Schema bereits helfend alle meine Fremdschlüssel-Constraints geschaffen, die mich fallen den Primärschlüssel zu stoppen.
Also brauche ich die Fremdschlüssel fallen zu lassen, die wie FK4BAD9607D2BEDDB5 ein wenig hilfreich Namen haben, dann erstellen Sie sie (kann ich dies tun automatisch wieder?). Es ist alles ein bisschen Kopfschmerzen.
Es wäre viel einfacher, wenn ich nur irgendwie dort bekommen konnte, und fügen Sie einen nicht gruppierten Spezifikation auf den Primärschlüssel, da sie es generiert. Gibt es eine entsprechende Bit des Export-Tool I außer Kraft setzen kann, dies zu tun?
Danke
Lösung
Ich glaube, die beste Option Schema wird mit dem Skript zu erstellen, und ändern Sie es manuell.
Ansonsten werden Sie brauchen Überschreibung Dialect.GetAddPrimaryKeyConstraintString
.