نموذج العرض التقديمي لخدمات RIA مع علاقات واحدة أو العديد من العلاقات

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

سؤال

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

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

  • على جانب العميل ، إذا قمت بعمل myartist.albums.add (analbum) أو myartist.albums.remove (الشرج) ، لا يحدث شيء. Haschanges يعود خطأ. (لاحظ أنه تم الحصول على myartist و Analbum فقط في الكود عن طريق تحميل الكيانات والتكرار للحصول على إشارات إلى كيانات محددة: أنا لا أفعل أي شيء في واجهة المستخدم أو مع domaindataSources حتى الآن ، فقط لألعاب).
  • إذا قمت بتحديث الاسم على فنان و submitchanges ، عندما يتم استدعاء طريقة التحديث على الخادم ، فإن مجموعة الألبومات فارغة.

هل لدى أي شخص أي اقتراحات ، أو هل يمكنك توجيهي إلى مثال يستخدم كائنات أكثر تعقيدًا؟

تعديل (الحفاظ على ما سبق للأجيال القادمة): حسنًا ، يبدو أن المشكلة الثانية (إشارة إلى كيان أو مجموعة من الكيانات التي تظهر على أنها خالية عند استدعاء التحديث على الخادم) موجودة لأن المداول الطفل لم يتم تغييره كما تم تغييره و لذلك لا يتم تسلسلها وإرسالها مرة أخرى. أعلم أنه يمكنك إجبار ذلك على الحدوث باستخدام [تكوين] وقد حصلت عليه للعمل بهذه الطريقة ، لكن هذه ليست علاقة تكوينية وأريد أن يكون كلا الكيانات "من الأعلى". كيف يمكنني وضع علامة على الكيان كما تغير؟

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

المحلول

كانت المشكلة أن سماتي [ارتباط] لم تكن محددة بشكل صحيح. لم أكن أدرك أن خاصية اسم الجمعية يجب أن تكون هي نفسها على جانبي الجمعية. عندما تكون الأسماء متماثلة وتقوم بإنشاء ، يستخدم الرمز الذي تم إنشاؤه على العميل مُنشئًا مختلفًا لـ EntityCollection المستخدم من قبل "الوالد" للإشارة إلى "الأطفال" مما إذا لم يتم إعداد الجمعيات بشكل صحيح . يأخذ المُنشئ الجديد عمليات الاسترجاعات التي تقوم ببعض المعالجة الإضافية عند الاتصال بإضافة وإزالة على المجموعة - على وجه التحديد ، يأخذون كيان الطفل الذي تضيفه أو تزيله وتعديله عليه يشير إلى والديه بحيث يبقى كل شيء حتى يبقى كل شيء في المزامنة: المجموعة التي قمت بإزالتها من الكائن ، والمجموعة التي قمت بإضافتها إليها ، ومرجع الكائن إلى والديه.

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