سؤال

لقد قمت بتجربة أداة إنشاء موقع البيانات الديناميكية الجديدة التي تأتي مع .NET 3.5.تستخدم الأداة LINQ Datasources للحصول على البيانات من قاعدة البيانات باستخدام ملف سياق .dmbl كمرجع.أنا مهتم بتخصيص شبكة البيانات ولكني بحاجة إلى عرض البيانات من أكثر من جدول.هل يعرف أحد كيفية القيام بذلك باستخدام كائن LINQ Datasource؟

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

المحلول

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

للقيام بذلك، يمكنك فقط استخدام شيء مثل هذا:

<%# Bind("unit1.unit_name") %>

حيث تحتوي "الوحدة" في الجدول على مفتاح خارجي يشير إلى جدول آخر ويمكنك سحب خاصية هذه الوحدة لـ "unit_name"

وآمل أن يجعل الشعور.

نصائح أخرى

(لقد أساءت EDIT فهم السؤال، وقمت بمراجعة إجابتي على ما يلي)

يمكن أن يشير LinqDataSource إلى طريقة عرض، مما يسمح لك بالتغلب على مشكلة عدم القدرة على التعبير عن انضمام إلى العنصر الفعلي.من "كيف:إنشاء LINQ إلى فئات SQL المعينة للجداول وطرق العرض (مصمم O/R)":

يعد مصمم O/R مخططًا علائقيًا بسيطًا للكائنات لأنه يدعم علاقات التعيين 1:1 فقط.بمعنى آخر، يمكن أن يكون لفئة الكيان علاقة تعيين 1:1 فقط مع جدول قاعدة البيانات أو طريقة عرضها.لا يتم دعم التعيينات المعقدة، مثل تعيين فئة كيان إلى جداول متعددة.ومع ذلك، يمكنك تعيين فئة كيان إلى طريقة عرض تربط عدة جداول مرتبطة.

لا يمكنك وضع أكثر من كائن/مصدر بيانات واحد على شبكة البيانات.سيكون عليك إنشاء كائن ConceptObject واحد يجمع بين الخصائص المكشوفة للكيانات الجزئية.حاول استخدام قاعدة البيانات -> كيانات L2S -> ConceptObject.يجب أن تكون مفتعلًا جدًا إذا كان نموذج قاعدة البيانات يتطابق مع حقل ConceptObject.

من الأفضل أن تستخدم ObjectDataSource عندما تريد القيام بـ Linq أكثر تعقيدًا وربط شبكتك بـ ObjectDataSource.ومع ذلك، يتعين عليك الحذر من الأنواع المجهولة التي قد تسبب لك بعض المشاكل، ولكن كل شيء ممكن...

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