توصيل LINQ متعدد الحقل التفصيلي
] يوفر LINQ (استعلام متكامل اللغة) طريقة قوية ومعبرة للاستعلام عن البيانات. إحدى ميزاتها الرئيسية هي القدرة على استخدام جملة الانضمام
لتوصيل البيانات من مصادر بيانات متعددة. في حين أن الاتصالات التقليدية تتضمن عادة اتصالات لحقل واحد ، يمكن لـ LINQ أيضًا تنفيذ اتصالات متعددة المجالات.
افترض أن السيناريو التالي: تحتاج إلى إجراء استعلام LINQ ينضم إلى جدولين ENTITY
و entity2
، حيث ]] و
field2 تحتاج إلى مطابقة
field1 الحقول في
entity2 .
للقيام بذلك ، يمكنك استخدام بناء الجملة التالي:
var result = من x في الكيان
انضم إلى y في الكيان 2
على {x.field1 ، x.field2} يساوي جديد {y.field1 ، y.field2}
نوع مجهول
var result = from x in entity
join y in entity2
on new { x.field1, x.field2 } equals new { y.field1, y.field2 }
. ثم تتم مقارنة مجموعة المفاتيح هذه بمجموعة المفاتيح {y.field1 ، y.field2} من الجدول
entity2 .
تجدر الإشارة إلى أن هذه الطريقة تفترض اتصال قيمة متساوية ، حيث يجب أن تكون القيم في حقل Join هي نفسها. إذا كنت بحاجة إلى صلة غير مكافئة ، مثل استفسارات النطاق التاريخ ، يمكنك إضافة شروط إضافية في
حيث جملة.
على سبيل المثال ، للاتصال
field1 و
من
و entity2
، وضمان الكيان
في Entity
حقل Date
موجود ضمن النطاق المحدد ، ويمكنك استخدامه:
var result = من x في الكيان
انضم إلى y في الكيان 2
على جديد {x.field1 ، x.field2} يساوي جديد {y.field1 ، y.field2}
حيث x.date> = startDate && x.date
يسمح هذا بناء الجملة بمعالجة بيانات مرنة وقوية ، مما يتيح لك توصيل البيانات على حقول متعددة وتطبيق قيود إضافية حسب الحاجة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3