使用IF类型语句链接到实体SELECT NEW子句

本文关键字:实体 SELECT NEW 子句 链接 IF 类型 语句 使用 | 更新日期: 2023-09-27 18:08:37

我从2个表返回数据,一个具有停止信息,另一个具有交付信息。可以有一个没有交付的停止,也可以有多个交付。

我正在返回到数据网格,我想要一个列显示记录是停止还是停止交付。

如果记录没有交付(为null),我的当前查询在deliveryID字段中返回'0'。

我想添加另一个名为rowType的字段,如果deliveryID = 0,它返回"仅停止"的值,如果有其他情况,它返回"停止与交付"下面的代码可以正常工作,但是没有新字段。

  var combinedEvents = (from d in dbContext.stop_details
                              join s in dbContext.stop_event on d.id equals s.stop_id into Inners
                              from sd in Inners.DefaultIfEmpty()
                              where (d.ship_date >= startDate && d.ship_date <= endDate)
                              select new
                              {
                                  deliveryID = (int?)sd.id ?? 0,
                                  stopID = d.id,
                                  d.ship_date,
                                  d.cust_ref_1_BOL,
                                  d.cust_ref_2_OrderNum,
                                  sd.received_by
                                  }).ToList();

我能做这个吗?

使用IF类型语句链接到实体SELECT NEW子句

使用条件?运算符并复制deliveryID的逻辑:

rowType = ((int?)sd.id).HasValue ? "Stop With Delivery" : "Stop Only"