使用 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 从多个表中检索数据的主要内容,如果未能解决你的问题,请参考以下文章
需要一种方法来使用实体框架核心中的C#Linq从第二个表中检索数据
使用 LINQ 和实体框架在一个 SQL 查询中从多个表中提取数据
我想在 dotnetcore web api 控制器中使用 linq 方法通过 entityframework 从多个表中获取数据