هل هي ممارسات سيئة للسماح لحقول فارغة إلى جدول DB من أجل تبسيط نموذج ملزم من AJAX؟

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

سؤال

يرجى القراءة هنا و هنا للحصول على نظرة عامة سريعة عن مشكلتي ورؤية ما أعنيه بالضبط عندما أقول طراز ملزم من Ajax.

هل ستكون فكرة سيئة جعل الحقول الرئيسية الأجنبية لا تطل على السماح بنموذج ملزم من جافا سكريبت؟

على سبيل المثال، نريد ربط كائن شخص أثناء استدعاء AJAX إلى ... (يتم إنشاء فئة الشخص من إطار الكيان)

public ActionResult Create(Person personToCreate)
{
    //Create person here
}

إذا كان Person كان Pet الكائن الذي كان مفتاح أجنبي في DB، لا يمكنك تمرير Pet كائن جنبا إلى جنب مع البيانات الأخرى من مكالمة AJAX. لذلك ما لم Pet لا يغلى في DB، ملزمة Person لن تعمل.

إذن ما أريد أن أعرفه هو ... من أجل القيام بنموذج ملزم، يجب / هل يمكنني إبطال حقول DB التي لا أستطيع المرور بها من جافا سكريبت؟ أو هل يجب علي صنع موثق نموذج مخصص وربط إصدار "تملق" من الكائن من أجل متابعة أفضل الممارسات؟ مثال على نسخة تملق الكائن:

public class SimplePerson() {
   private string firstName;
   private string lastName;
   private string petName;
}

السبب في أنني أسأل هذا هو أن الكثير من إطار كيان الخاص بي أنشأ فئات تحتوي على مفاتيح أجنبية، مما يعني أنني سأحتاج إلى إنشاء مكررة مسطحة من جميع هذه الطبقات تقريبا، ويبدو أن تذهب ضد الكل جاف المالك.

هل كانت مفيدة؟

المحلول

قرأت على ما ترتبط به ونشره، لا أستطيع التفكير حقا في حل جيد قبالة رأس رأسي، ولكن المفهوم بالكامل لتغيير قاعدة بياناتك الأساسية الخاصة بك من أجل أجاكس يجعلني غير مرتاح. أعلم أن هذه ليست إجابة رائعة، وأكافح مع العديد من مشكلات تصميم EF الآن بنفسي، وكانت هناك عدة مرات عندما تم إغراء تعديل قاعدة البيانات من أجل النموذج، ولكن القيام بذلك دائما العودة لدغة لي في الماضي.

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