【.net core】【sqlsugar】联表查询与实体自动映射语法

官方文档:联表查询、关联查询、JoinTable、连表查询、Left Join - SqlSugar 5x - .NET果糖网

Join用法:语法糖2

Select 用法:自动映射

cs 复制代码
//类A 数据库字段与类成员一致
public class ClassA{
    //主键ID
    public int id{get;set;}
    //名称
    public string name{get;set;}
}
//类B 数据库字段与类成员一致
public class ClassB{
    //主键ID
    public int id{get;set;}
    //表A主键
    public int A_id{get;set;}
    //表B值
    public string value {get;set;}
}
//视图类B 继承ClassB,并增加子成员name(用于接收类A的name)
public class ViewClassB:ClassB{
    public string name{get;set;}
}

//使用SQLSUGAR语法进行查询
var query = db.Queryable<ClassB,ClassA>((a,b) => new JoinQueryInfos(
    JoinType.Left, a.A_id== b.id//以B为主表左连接A
    ))
    .Where(a => a.value != "")
    .Select((a, b) => new ViewClassB{
        //SelectAll为SqlSugar实体自动映射语法,使用实体中某一字段(类中任一成员)调用SelectAll进行实体自动映射
        //等于 sql中的 a.*   (SelectAll建议对一张表使用,多表会容易重名)
        value= a.value.SelectAll(),
        name = b.name
    } );

//获取列表数据
List<ViewClassB> viewList = await query.ToListAsync();
相关推荐
半夏知半秋4 小时前
Elasticsearch专用的ES|QL语法指令整理
大数据·数据库·elasticsearch·搜索引擎·全文检索
Li_7695324 小时前
Spring Cloud — SkyWalking(六)
java·后端·spring·spring cloud·skywalking
DBA小马哥4 小时前
信创背景下国产数据库选型指南:聚焦Oracle迁移场景的深度对比
数据库·oracle
2201_757830874 小时前
SpringBoot
java·spring boot·后端
van久4 小时前
.Net Core 学习:Razor Pages中 HTML 表头字段的两种写法对比
学习·html·.netcore
赵渝强老师5 小时前
【赵渝强老师】国产金仓数据库的逻辑存储结构
数据库·postgresql·国产数据库·kingbase·人大金仓
FAFU_kyp5 小时前
Java基础与核心知识面试题逐字稿模板
java
程序员西西5 小时前
深入剖析 Java 中的 ZGC 机制:原理、优势与实践
java·后端·算法
月明长歌5 小时前
【码道初阶】Leetcode.189 轮转数组:不熟悉ArrayList时踩得坑,被Arraylist初始化骗了?
java·算法·leetcode·职场和发展
BBB努力学习程序设计5 小时前
Java设计模式实战指南:创建型模式深度解析
java