كيفية استخدام LINQ للانضمام بين جداول في ASP.NET MVC
لتحقيق هذا، يمكنك دمج الجدولين (Office و Worker) باستخدام LINQ وEntity Framework في MVC. يمكنك استخدام الكود التالي في طبقة النموذج (Model) للحصول على قائمة بجميع العمال (Workers) مع ألوان مكتبهم (OfficeColor) استنادًا إلى الألوان المحددة لكل مكتب (OfficeID):
csharppublic List GetWorkersWithOfficeColors()
{
using (var context = new YourDbContext())
{
var workersWithOfficeColors = (from worker in context.Workers
join office in context.Offices
on worker.OfficeID equals office.ID
select new Worker
{
ID = worker.ID,
OfficeID = worker.OfficeID,
FullName = worker.FullName,
OfficeColor = office.Color
}).ToList();
return workersWithOfficeColors;
}
}
يرجى استبدال YourDbContext()
بالسياق الخاص بالتطبيق الخاص بك.
يقوم الكود بدمج الجدولين باستخدام عملية الانضمام (join) بينهما على أساس معرف المكتب (OfficeID)، ثم ينشئ كائنات Worker جديدة مع تعيين OfficeColor بناءً على اللون المحدد لكل مكتب.
المزيد من المعلومات
بالتأكيد! في هذا السياق، يتم استخدام مفهوم الـ “انضمام” (Join) في LINQ لدمج بيانات من جدولين أو أكثر بناءً على شرط معين. في هذه الحالة، نستخدم الانضمام لدمج جدولي Office و Worker بناءً على معرف المكتب (OfficeID)، حيث يرتبط كل عامل بمكتبه المحدد.
باستخدام الكود الذي تم توضيحه أعلاه، سيتم إرجاع قائمة من كائنات Worker مع كل عامل يحمل لون مكتبه المحدد. هذا يمكن أن يكون مفيدًا عندما تحتاج إلى عرض بيانات متعددة المصادر بشكل مترابط، مثل قائمة العمال مع ألوان مكاتبهم.
يجب أن تتأكد من استبدال YourDbContext() بسياق البيانات الفعلي الذي تستخدمه في تطبيقك، وكذلك التأكد من تضمين مكتبة Entity Framework واستخدام الـ using لضمان إغلاق الاتصال بقاعدة البيانات بشكل صحيح.