LINQ 连接 2 个具有 DateTimeOffset 外键的表

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

当两个表共享数据类型为 DateTiimeOffset 的外来组合键时,如何连接它们?

请参考以下查询。

from o in outstandingOrders
join d in dispatchAdvicedOrders
on new { o.ExpectedDeliveryDate, o.JobNumber } equals new { d.ExpectedDeliveryDate, d.JobNumber } into oD
from d in oD.DefaultIfEmpty()
select new DeliverySchedule
{
    ExpectedDeliveryDate = o.ExpectedDeliveryDate,
    JobNumber = o.JobNumber,
    OutstandingWeight = o.Weight,
    DispatchAdvicedWeight = d.Weight
};

专注于线路

on new { o.ExpectedDeliveryDate, o.JobNumber } equals new { d.ExpectedDeliveryDate, d.JobNumber } into oD
    所有
  1. ExpectedDeliveryDate 的数据类型为 DateTimeOffset
    
    所有
  2. JobNumber
  3. 日期类型为string
    
    

我的问题

    我应该使用
  1. DateTimeOffset.Compare()
     进行上述查询吗?
  2. 如果可以,我该如何使用它?
c# .net asp.net-mvc linq
1个回答
0
投票
是你想要的吗?

from o in outstandingOrders join d in dispatchAdvicedOrders on new { o.ExpectedDeliveryDate, o.JobNumber } equals new { d.ExpectedDeliveryDate, d.JobNumber } into oD from d in oD.DefaultIfEmpty() select new DeliverySchedule { ExpectedDeliveryDate = o.ExpectedDeliveryDate, JobNumber = o.JobNumber, OutstandingWeight = o.Weight, DispatchAdvicedWeight = d != null ? d.Weight : null // Handle null values in case of outer join };
    
© www.soinside.com 2019 - 2024. All rights reserved.