示例表
TableClassinfo
classid | classname |
---|---|
1 | xx班 |
2 | yy班 |
3 | zz班 |
TableStudentsInfo
注意:studentno字段拆分成了studentno1和studentno2联合主键。
classid | studentNO1 | studentNO2 | name |
---|---|---|---|
1 | 1 | 1 | 张三 |
2 | 3 | 18 | 李四 |
2 | 1 | 5 | 王五 |
3 | 8 | 2 | 小明 |
3 | 4 | 9 | 小红 |
TableTestDetail
注意:下表外键字段
也拆分成了两个字段,且与上表主键字段名
是不同名的,所以lanmbda语句定义这俩表连接时也会有所区别,具体请看下面代码中的语句以及相关注释.
sNO1 | sNO2 | score | testdate |
---|---|---|---|
1 | 1 | 90 | 2020-01-02 |
1 | 5 | 91 | 2020-01-02 |
1 | 1 | 77 | 2020-02-03 |
3 | 18 | 90 | 2020-02-03 |
8 | 2 | 65 | 2020-02-03 |
1 | 1 | 96 | 2020-03-07 |
3 | 18 | 87 | 2020-03-07 |
8 | 2 | 70 | 2020-03-07 |
4 | 9 | 99 | 2020-03-07 |
Lambda代码: left join
using (var context = new SchoolContext())
{
var res = context.TableClassinfo
//下句翻译成sql:TableClassinfo c left join TableStudentsI