قم بإنشاء مفاتيح أساسية غير موجودة باستخدام nhibernate و schemaexport

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

سؤال

نحن نستخدم المخططات عبر 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top