将三个表 PostgreSQL 查询转换为实体框架

问题描述 投票:0回答:1

如何将下一个 SQL 查询转换为实体框架

SELECT 
  customers."CustomerId",
  customers."CustomerName",
  "Orders"."OrderId",
  "Orders"."Description",
  "Orders"."CustomerId",
  "OrderDetails"."OrderDetailId",
  "OrderDetails"."Article",
  "OrderDetails"."OrderId"
FROM
  "Orders"
  RIGHT OUTER JOIN customers ON ("Orders"."CustomerId" = customers."CustomerId")
  LEFT OUTER JOIN "OrderDetails" ON ("Orders"."OrderId" = "OrderDetails"."OrderId")

我尝试过的:

public List<customers> GetAll() 
{ 
    var custord= _dbContext.customers .Include(x => x.Order) .Include(x => x.OrderDetails) .ToList(); return custord;
    
}

问题: 如果我的订单没有 OrderDetail 信息,我无法获取所有记录。

ER 图看起来像

postgresql entity-framework
1个回答
0
投票

这是解决方案,谢谢大家:

var 项目 = ( 来自 _dbContext.Orders 中的订单 将 Customer 加入 _dbContext.Customers 中 Order.CustomerId 等于 Customer.CustomerId 在 Order.OrderId 上加入 _dbContext.OrderDetails 中的 OrderDetail 等于 OrderDetail.OrderId 选择新的 { 客户 ID = 客户.客户 ID, 客户名称 = 客户.客户名称, 订单 ID = 订单.订单 ID, 描述 = 订单.描述, 订单详细信息 ID = 订单详细信息.订单详细信息 ID, 文章 = OrderDetail.Article,

}).ToList();
© www.soinside.com 2019 - 2024. All rights reserved.