简体   繁体   English

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

[英]Retrieving Data from Multiple Tables with LINQ

I'am beginner in linq and have three tables (sql ce 3.5) like this : course : (PK)CourseCode,CourseName Class : (PK)ClassCode,FieldCode,ClassName ClsCrs : (PK)ClassCode,(PK)CourseCode 我是linq的初学者,并且有三个这样的表(sql ce 3.5):课程:(PK)CourseCode,CourseName类:(PK)ClassCode,FieldCode,ClassName ClsCrs:(PK)ClassCode,(PK)CourseCode

I want to convert or rewrite this query to linq and assign results to a combobox data source : 我想将此查询转换或重写为linq并将结果分配给组合框数据源:

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

how can i do this ? 我怎样才能做到这一点 ?

thanks 谢谢

you can try this 你可以试试这个

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();

Its not clear which table ClassTitel field belongs (assume class table). 它不清楚ClassTitel字段属于哪个表(假定类表)。 Also replace set names with those generated by EF or Linq to SQL 还要用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();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM