استبعاد نموذج بيانات EF بسبب عدم وجود مفتاح أساسي
من الشائع أن تفتقر بعض الجداول إلى المفاتيح الأساسية عند دمج قواعد البيانات الموجودة في إطار الكيان (EF) 4.0. تحدث هذه المشكلة عند إنشاء نموذج بيانات كيان جديد ، مما يتسبب في تشير رسالة الخطأ إلى المفتاح الأساسي المفقود ثم استبعاد الجدول.
يُعتقد عمومًا أنه يجب إضافة المفاتيح الأولية المادية إلى الجدول المصاب لحل هذه المشكلة. ومع ذلك ، هناك حل بديل يسمح لك باستخدام هذه الجداول دون تعديل مخططها.
كما يقترح Tillito ، يتضمن هذا الحلول تعديل عبارة SELECT عن العرض الإشكالي في عبارة تحديد جديدة. وبهذه الطريقة ، يمكنك لف عبارة SELECT الأصلية ، يمكنك استخدام وظيفة ISNULL لتحديد العمود المطلوب استخدامه كمفتاح أساسي. بدلاً من ذلك ، يمكنك استخدام وظيفة NULLIF لمنع تحديد الأعمدة كمفاتيح أساسية.
مثال:
فكر في المثال التالي:
SELECT
ISNULL(MyPrimaryID,-999) MyPrimaryID,
NULLIF(AnotherProperty,'') AnotherProperty
FROM ( ... ) AS temp
في هذا المثال ، تجبر دالة ISNULL EF على التعرف على "myprimaryid" كمفتاح أساسي ، في حين أن وظيفة Nullif تضمن أن "OtherProperty" لا تعتبر المفتاح الأساسي.
من خلال تطبيق هذه التكنولوجيا ، يمكنك تجنب الحاجة إلى تعديل مخطط قاعدة البيانات ودمج الجداول الموجودة بسلاسة في نموذج بيانات EF الخاص بك ، مما يسمح لعمليات البيانات دون الحاجة إلى تعديل المفتاح الأساسي الفعلي.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3