سؤال

ولدي الكثير الكلاسيكية لكثير من السيناريو مع ثلاثة جداول (الطلاب والدورات وStudentsCourses ثلث الجدول الاحالة).

وأنا باستخدام EF في مشروعي الجديد وEF مصمم لا يخلق الجدول الثالث. ولست بحاجة لتحديد كافة استوديو التصوير جنبا إلى جنب مع عدد من الطلاب المسندة إليها. استخدام SQL عادي واضح وصريح للغاية:

select c.Id, c.Name, Count(sc.*) as StudentCount 
from Courses c left join StudentCourses sc on(c.Id=sc.CourseId)
group by c.Id, c.Name

ولكن لا أستطيع معرفة كيفية ترجمة هذا الاستعلام لينق إلى SQL. يرجى تقديم المشورة.

وشكرا لكم.

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

المحلول

والمصمم EF يخفي الجدول. ما زال هناك، ولكن فقط يخلق assocation بالنسبة لك، لذلك يمكنك فقط مرجع الطلاب من الدورات أو العكس بالعكس.

نصائح أخرى

هل يمكن أن تفعل شيئا من هذا القبيل:

var list = from c in context.Courses
           from s in c.Students
           select new
           {
             StudentName=s.Name,
             Class=s.Class,
           };

لمزيد من المعلومات تبدو على الموقع هذه الصفحة

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