سؤال

هل من الممكن تمرير مجموعة من الكائنات إلى استعلام RIA Data Service؟ليس لدي أي مشاكل في إرسال كيان أو Int أو مجموعة من الأنواع البدائية، ولكن بمجرد أن أعلن عن طريقة مثل هذه

public void GetLessonsConflicts(Lesson[] lessons)
{
}

أحصل على خطأ في التجميع

"العملية المسماة" getlessonsconflicts "لا تتوافق مع التوقيع المطلوب.يجب أن تكون أنواع المعلمات نوعًا كيانًا أو أحد أنواع التسلسل المحددة مسبقًا "

أحاول فقط إجراء بعض التحقق من الصحة من جانب الخادم قبل حفظ البيانات.لقد جربت List و IEnumerable وما إلى ذلك.

شكرًا

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

المحلول

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

على سبيل المثال، وفقًا للاتفاقية، يجب أن تكون طريقة الإدراج:

  • لديك إدراج أو إضافة أو إنشاء كبادئة اسم الطريقة، على سبيل المثال.أدخل الموظف
  • تطابق اسم الفراغ العام للتوقيع (الكيان e) ؛

يجب أن يكون أسلوب الاستعلام:

  • كن عامًا
  • قم بإرجاع IEnumerable أو IQueryable أو T (حيث T عبارة عن كيان).

يجب أن عملية المجال المخصص

  • كن عامًا
  • العودة فارغة
  • لديك كيان كمعلمة أولى.

يحرر:انظر تعليق رامي أ أدناه.أعتقد أن هذا كان صحيحًا في ذلك الوقت ولكني لا أعمل حاليًا مع هذه التكنولوجيا، لذا فأنا لست على دراية كافية بها لتحديث هذه الإجابة بخلاف ملاحظة أنها قد تكون غير صحيحة.

أو يمكنك استخدام سمات مثل [إدراج]، [حذف]، [تحديث]، [استعلام]، [مخصص].من مستنداتي، كل ما تفعله السمات هو إزالة متطلبات اصطلاح الاسم - ليس من الواضح بالنسبة لي ما تحققه السمات [Query] و[Custom].

بالإضافة إلى DomainOperations، يمكنك تحديد ServiceOperations (باستخدام السمة [ServiceOperation]) وInvocOperations.

هذا المقال قد يساعد (على الرغم من أنني أعتقد أنه قديم بعض الشيء).

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