قم بإنشاء مفاتيح أساسية غير موجودة باستخدام nhibernate و schemaexport
-
27-09-2019 - |
سؤال
نحن نستخدم المخططات عبر ActivereCord. بشكل افتراضي ، يولد جدولًا كهذا:
create table List (
Id UNIQUEIDENTIFIER not null,
Name NVARCHAR(255) null,
OwnerId UNIQUEIDENTIFIER null,
primary key ( Id ))
SQL Server ثم الافتراضيات لإضافة فهرس متجمع للمفتاح الأساسي. لكني أريد أن يكون هذا غير متكامل. أرغب في إضافة فهرس متجمع إلى OfferId لأن هذا سيكون أكثر كفاءة.
الآن ، يمكنني تشغيل برنامج نصي بعد ذلك لإنشاء فهرس غير محدد. هذا من شأنه أن ينطوي على إسقاط القيد الرئيسي الأصلي الأساسي وإضافة عائق غير متكامل. ومع ذلك ، قامت Schemaexport بالفعل بإنشاء جميع قيود المفاتيح الخارجية التي تمنعني من إسقاط المفتاح الأساسي.
لذلك أحتاج إلى إسقاط المفاتيح الأجنبية ، التي لها اسم غير مفيد مثل FK4BAD9607D2BEDDB5 ، ثم إعادة إنشائها (هل يمكنني القيام بذلك مرة أخرى تلقائيًا؟). كل شيء من الصداع.
سيكون الأمر أسهل بكثير إذا كان بإمكاني الدخول إلى هناك بطريقة أو بأخرى وأضف أ غير متكافئ مواصفات للمفتاح الأساسي لأنه يولده. هل هناك القليل من أداة التصدير التي يمكنني تجاوزها للقيام بذلك؟
شكرًا
المحلول
أعتقد أن أفضل خيارك هو استخدام SchemaeSport لإنشاء البرنامج النصي ، وتعديله يدويًا.
خلاف ذلك ، ستحتاج إلى تجاوز Dialect.GetAddPrimaryKeyConstraintString
.