关于左连接和whereif的使用

1.左连接:Linq左连接是左表与右表连接时,无论右边是否有跟左表对应的数据,左表都能查询得出来。

图例(复制来的):

举个栗子:

  期末考试9门课,有人考8门后心态崩了,第九门不考了。

  在成绩管理系统中,九门课程不管多少分都需要查出来,但是成绩表中没有第九门课的数据,用左连接就可以实现,不管课程多少分,有没有数据,都可以显示这个课程。

 

Linq的代码写法:

var resp=from 自定义左表名称 in 实体模型里面得数据表格

          Join 自定义右表模型 in 实体模型里面得数据表格 on 自定义左表.连接右表的字段 equals 自定义右表.连接的字段

     into 自定义表名称

    (from 自定义表名称 in 自定义表名称(into).DefaultIfEmpty )

 

2.whereif的使用

where会筛选符合条件的数据,但是当作为条件的入参没有传入时,就筛选不出合适的数据。

whereif就可以当作过滤条件使用,如果if的条件为true,就where筛选一下,如果没有就过。

posted @ 2022-07-04 15:28  曲处通幽静  阅读(568)  评论(0)    收藏  举报