LINQ过滤器范围日期与选择案例
本文关键字:选择 案例 日期 过滤器 范围 LINQ | 更新日期: 2023-09-27 18:28:28
我有两个表:汽车和汽车历史,表中的字段Car:
Car_ID Int
APP_DT DateTime
车辆历史记录表中的字段:
Car_ID Int
Action String
Created_DT Datetime
并且我必须过滤app_dt和Created_dt之间的重叠日期,
(App_DT <= End) && (Created_dt >= Start && action == 'Closed')
然而,这辆车可能还没有关闭,所以历史上没有数据。
如果汽车还没有关闭,Created_dt也将为true。。我如何在LINQ中做到这一点?
您将对此使用Join
语句
var cars = from car in CarList //List<Car>
join carHistory in CarHistoryList //List<CarHistory>
on car.Car_ID equals carHistory.Car_ID
where car.App_DT <= End && carHistory.Created_dt >= Start
&& carHistory.Action == 'Closed'
select car;
如果您知道需要返回没有匹配car history
的cars
,则需要将其设置为左外部联接