【.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();
相关推荐
用户8307196840829 分钟前
Spring Boot WebClient性能比RestTemplate高?看完秒懂!
java·spring boot
IvorySQL12 分钟前
PostgreSQL 技术日报 (3月11日)|4库合一性能提升350倍与内核新讨论
数据库·postgresql·开源
IvorySQL22 分钟前
谁动了我的查询结果?PostgreSQL 联表加锁的隐藏陷阱
数据库·postgresql·开源
Assby2 小时前
从洋葱模型看Java与Go的设计哲学:为什么它们如此不同?
java·后端·架构
爱可生开源社区3 小时前
🧪 你的大模型实验室开张啦!亲手测出最懂你 SQL 的 AI
数据库·sql·llm
belhomme3 小时前
(面试题)Netty 线程模型
java·面试·netty
赵渝强老师7 小时前
【赵渝强老师】使用TiSpark在Spark中访问TiDB
数据库·mysql·tidb·国产数据库
NE_STOP7 小时前
MyBatis-plus进阶之映射与条件构造器
java
Qinana8 小时前
第一次用向量数据库!手搓《天龙八部》RAG助手,让AI真正“懂”你
前端·数据库·后端