hox6

导航

 

在使用SqlSugar进行联表查询时,有以下几种方式:

  1. 使用Join方法:使用Join方法可以将多个表连接起来,然后通过Select方法选择需要的字段。示例代码如下:
 
var result = db.Queryable<Order, Customer>((o, c) => o.CustomerId == c.Id)
               .Select((o, c) => new { o.OrderId, c.CustomerName })
               .ToList();
  1. 使用JoinTable方法:JoinTable方法可以用于直接连接两个表,并指定连接条件。示例代码如下:
 
var result = db.Queryable<Order>()
               .JoinTable<Customer>((o, c) => o.CustomerId == c.Id)
               .Select((o, c) => new { o.OrderId, c.CustomerName })
               .ToList();
  1. 使用JoinTable和Where方法:在JoinTable方法之后,可以使用Where方法添加额外的查询条件。示例代码如下:
 
var result = db.Queryable<Order>()
               .JoinTable<Customer>((o, c) => o.CustomerId == c.Id)
               .Where(o => o.Amount > 1000)
               .Select((o, c) => new { o.OrderId, c.CustomerName })
               .ToList();
  1. 使用JoinQuery方法:JoinQuery方法可以用于连接多个表,并指定各个表之间的关联关系,相比Join和JoinTable方法更加灵活。示例代码如下:
 
var result = db.Queryable<Order>()
               .JoinTable<OrderItem>((o, i) => o.OrderId == i.OrderId)
               .JoinTable<Product>((i, p) => i.ProductId == p.Id)
               .Select((o, i, p) => new { o.OrderId, i.Quantity, p.ProductName })
               .ToList();


 

posted on 2023-09-14 15:50  云杉木板  阅读(236)  评论(0编辑  收藏  举报