用于连接多个表的Linq代码

时间:2018-03-03 15:49:42

标签: c# entity-framework linq lambda ado.net-entity-data-model

我是linq的新人,需要你的建议。

我创建了三个表。

学生----学生_COURSE -----课程

Database Diagram

我只是想列出哪些学生正在参加哪些课程。

如果我使用dbml执行此操作,我会以某种方式获得结果,如下所示。

#include <stdio.h>
#include <conio.h>
int main() {
    int a, b;  
    printf("%d", (int)&a - (int)&b);
    getch();
    return 0;
}

但我无法使用实体数据模型运行此功能。

当我添加实体数据模型var takencourses = from sc in dbe.STUDENT_COURSEs join s in dbe.Students on sc.SID equals s.ID join c in dbe.COURSEs on sc.CID equals c.Id select new { s.NAME, s.SURNAME, c.COURSENAME}; dataGridView1.DataSource = takencourses; 表正在消失并且在表格中添加引用时如下所示。

Entity Data Model diagram

因为我没有STUDENT_COURSE表,所以我无法编写LINQ来加入学生和课程表来获得结果。

我只想从实体数据模型中获取 NAME,SURNAME,COURSENAME

  1. 那么如何使用实体数据模型呢?
  2. 这应该是什么等效的lambda代码? 例如,我尝试了类似STUDENT_COURSE的内容,但我没有找到正确的结果。
  3. 如果我要处理100.000行,那么性能问题的最佳选择是什么?
  4. 感谢您的回答。

0 个答案:

没有答案