从开始结束工作日期MVC开始工作几个月

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

我有一张人和他们的工作经历。每个人都可以有很多经历。我想只从这个表中获得经验月份在特定filter.Position_ID中的总和超过我提供的值的那些人。

经验开始日期和结束日期也是职称。

码:

result = result
    .Where(w => w.CommonFields.Status == RecordStatusType.Active 
             &&  w.Experiences.Sum(sum => SqlFunctions.DateDiff("month", sum.BeginDate, sum.EndDate ?? DateTime.Now)) 
                 >= filter.WorkExperiency 
             && filter.Position_ID.Any(p => p.Equals(w.Experiences.Where(x => p.Equals(x.Position_ID)))));

filter.Position_ID是我提供的位置。结果是所有申请人。问题是平等的。它不起作用... filter.Position_ID是列表我想找到这些元素中的任何一个==申请人的经验。

linq model-view-controller
1个回答
0
投票
result = result
    .Where(w => w.CommonFields.Status == RecordStatusType.Active
             && filter.Position_ID.Any(p => w.Experiences.Any(e => e.Position_ID == p))
             &&  w.Experiences.Sum(sum => SqlFunctions.DateDiff("month", sum.BeginDate, sum.EndDate ?? DateTime.Now)) 
                 >= filter.WorkExperiency);

这解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.