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

时间:2013-01-20 19:37:14

标签: c# sql linq-to-sql sql-server-ce

我是linq的初学者,有三个表(sql ce 3.5),如下所示: 课程:(PK)CourseCode,CourseName 类:(PK)ClassCode,FieldCode,ClassName 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`

我该怎么做?

感谢

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

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

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