使用 LINQ 从多个表中检索数据

Posted

技术标签:

【中文标题】使用 LINQ 从多个表中检索数据【英文标题】:Retrieving Data from Multiple Tables with LINQ 【发布时间】:2013-01-20 19:37:14 【问题描述】:

我是 linq 的初学者,拥有三个表(sql ce 3.5),如下所示: course : (PK)CourseCode,CourseName 类:(PK)类代码,字段代码,类名 ClsCrs : (PK)ClassCode,(PK)CourseCode

我想将此查询转换或重写为 linq 并将结果分配给组合框数据源:

`SELECT CourseName FROM class, clscrs, course WHERE
ClassTitel = @ClassTitel and class.classcode = clscrs.classcode and
clscrs.coursecode = course.coursecode`

我该怎么做?

谢谢

【问题讨论】:

您使用的是哪个 LINQ 提供程序? LINQ到SQL?实体框架?休眠?还有什么? 【参考方案1】:

你可以试试这个

var query = (from c in db.class 
             from v in db.clscrs 
             from n in db.course 
             where c.ClassTitel=="yourinput" 
                 && c.classcode = v.classcode 
                 && v.coursecode = n.coursecode 
             select n.CourseName).ToList();

【讨论】:

【参考方案2】:

不清楚ClassTitel字段属于哪个表(假设类表)。还将集合名称替换为 EF 或 Linq to SQL 生成的名称

var query = from cl in db.class
            join cc in db.clscrs on cl.classcode equals cc.classcode
            join cs in db.course on cc.coursecode equals cs.coursecode
            where cl.ClassTitel == "value"
            select cl.CourseName;

comboBox1.DataSource = query.ToList();

【讨论】:

以上是关于使用 LINQ 从多个表中检索数据的主要内容,如果未能解决你的问题,请参考以下文章

使用linq mvc c#从数据库中检索图像

需要一种方法来使用实体框架核心中的C#Linq从第二个表中检索数据

使用 LINQ 和实体框架在一个 SQL 查询中从多个表中提取数据

我想在 dotnetcore web api 控制器中使用 linq 方法通过 entityframework 从多个表中获取数据

如何使用 PHP 表单从多个表中检索数据?

用于从 3 个表中获取数据的 LINQ 查询