【.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();
相关推荐
即将进化成人机几秒前
Spring Boot配置文件
java·开发语言·intellij-idea
龙智DevSecOps解决方案3 分钟前
Java开发基础:什么是Spring Boot?一文了解其优势、对比以及如何通过Perforce JRebel实现高效开发
java·开发语言·spring boot·jrebel·perforce·java开发
一直都在5725 分钟前
手写tomcat(1):Socket
java·tomcat
PPPPickup8 分钟前
easychat---创建,获取,获取详细,退群,解散,添加与移除群组
java·开发语言·后端·maven
luod8 分钟前
SpringBoot自动初始化数据
java·spring boot·spring
牛顿没有错9 分钟前
lombok中@Data、@AllArgsConstructor、@NoArgsConstructor不生效
java·spring boot·spring·intellij-idea
Dxy123931021634 分钟前
MySQL连表更新
数据库·mysql
南部余额34 分钟前
深入理解 Spring Boot:自动化配置类与 FactoryBean 的异同与协作
java·spring boot·自动化
摇滚侠38 分钟前
2025最新 SpringCloud 教程,熔断规则-熔断策略-异常数,笔记46
java·笔记·spring cloud
Home38 分钟前
23 种设计模式--桥接(Bridge)模式(结构型模式二)
java·后端