هل هي ممارسات سيئة للسماح لحقول فارغة إلى جدول DB من أجل تبسيط نموذج ملزم من AJAX؟
-
16-09-2019 - |
سؤال
يرجى القراءة هنا و هنا للحصول على نظرة عامة سريعة عن مشكلتي ورؤية ما أعنيه بالضبط عندما أقول طراز ملزم من 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 الآن بنفسي، وكانت هناك عدة مرات عندما تم إغراء تعديل قاعدة البيانات من أجل النموذج، ولكن القيام بذلك دائما العودة لدغة لي في الماضي.