بناء وتقديم شجرة الفئة الهرمية اللانهائي من جدول الفئة المرجعية الذاتية

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

سؤال

انا املك Categories الجدول الذي يكون فيه كل فئة ParentId يمكن أن تشير إلى أي فئة أخرى CategoryId أنني أريد عرض قائمة HTML متعددة المستويات ، مثل ذلك:

<ul class="tree">
    <li>Parent Category
        <ul>
            <li>1st Child Category
                <!-- more sub-categories -->
            </li>
            <li>2nd Child Category
                <!-- more sub-categories -->
            </li>
        </ul>
    </li>
</ul>

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

كيف يمكنني تقديم القائمة إلى كائن شجرة وذاكرة التخزين المؤقت للعرض السريع في كل مرة أحتاج فيها إلى قائمة بجميع الفئات الهرمية؟

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

المحلول

قم بإنشاء فئة نموذج عرض مرجعية ذاتي.

تملأه في فئة النماذج المناسبة (أو ربما في الخاص بك DataContext فئة جزئية) باستخدام الاستعلام الذي تنفذه في العرض.

لف الطريقة التي يقوم بها الاستعلام بطريقة تتحقق وتخزين النتيجة Cache.

تأكد من إبطال ذاكرة التخزين المؤقت كلما تم إجراء تغييرات على شجرة الفئة.

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

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