سؤال

أنا أعمل حاليا على خدمة ODATA Web API 2 باستخدام EF6 مع نهج رمز أولا.

تشير وثائق النسيم إلى استخدام edmbuilder عبر ODataconVentionModelbuilderder لأسباب متعددة ( http:// www.breezejs.com/documentation/odata-server ). كان لدي بضعة أسئلة حول هذا -:

1) يبدو أن OdataconventionModelbuilderderder يبدو أنه لا يولد علامة "المرجعية كومة" وبالتالي وجود تأثير على $ حدد بعد التوسع بعد استخدام عميل Breeze JS. ولكن الغريب، يبدو الشيء نفسه يعمل عند كتابة المستعرض مباشرة (باستخدام $ Expand & $ SELECT)، هل هناك أي عمل حول استخدام OdataconventionModelBuilderdery؟ هل كل هذه القضايا المذكورة في الرابط لا تزال قابلة للتطبيق؟

2) اختارنا خدمة Odata النقية لجعل API الخاص بنا للمستهلكين Odata المتنوعين، نود أن نحتفظ بخدماتنا العامة دون أي نكهة نسيم لها. هل ستجعل إدماجيلدر نسيم الخدمة محددة؟

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

المحلول

كما اكتشفت ODATACONVENTIONMODELBUILDERER لا توفر قيودا مرجعية. حتى الآن، باستخدام edmbuilder هو الحل الوحيد. باستخدام EDMBuilder لا يجعل نسيم الخدمة محددة، لأنه لا يوجد رمز معين نسيم هناك. (تم توفير رمز Edmbuilder فعلا من قبل مهندس Microsoft.) ومع ذلك، فإن استخدام EDMBuilder يقوم بإعادة تشغيلك من استخدام بقية وظائف ODATACONVENTIONMODELBUILDERDELDELDERS، وهو أمر مزعج.

ما نختبره، هو السماح للبيانات الوصفية ODATA التي يتم تسليمها من الخادم المراد تعديلها / محدثة عبر سلسلة من مكالمات API حيث تعلن القيود العلائقية مباشرة على العميل . يمكنك بعد ذلك استخدام Builder ODataconventionModel بدلا من edmbuilder واستخدام API "الجديد" لإعادة تعيين "القيود. من الواضح أن هذا ليس جيدا لاسترداد البيانات من الخادم، ولكن حتى تصبح MS إصلاحات OdataconventionModelbuilderdery قد يكون هذا أفضل رهان لدينا.

هل سيكون هذا ذات قيمة في السيناريو الخاص بك؟

أيضا، يرجى الاتصال بالسلي ودعهم يعرفون إحباطك. :)

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