请原谅我的英语,但我会解释我想达到的目标。标题可能含糊不清。C#Linq查询条件满足时选择最佳结果
我正在开发一个工资计划,需要查询一个月度表以便选择一个月来使用linq进行处理。它适用于SAP Business 1插件。
我每月表(缩短)
Code U_Month U_Pay_Process_Status
1 Jan Y
2 Feb Y
3 March Y
4 April N
5 May N
6 June N
7 July N
8 Aug N
9 Sept N
10 Oct N
11 Nov N
12 Dec N
一旦工资月已经被处理,例如1月,该月的U_Pay_Process_Status字段更改为Y(是)
对于上面的表,我将如何编写一个linq到sql查询来选择第一个未处理的月份(在本例中为四月份)?
我有这个迄今为止
代码是SAP自动生成的主键,它是varchar类型。
// Get service instance needed
var monthlyPeriodService = Program.Kernel.Get<IMonthlyPeriodService>();
//Query database monthly periods
var monthlyPeriods = monthlyPeriodService.GetAllMonthlyPeriods().OrderBy(m => m.Code);
To do.......
如何获取第一个未处理的月份。任何帮助赞赏。
再次感谢乔恩斯基特。我不能只使用.FirstOrDefault(m => m.U_Pay_Process_Status ==“N”);得到结果? –
只有当您确定已经订购了几个月时,FirstOrDefault才会返回第一个未处理的月份,而如果您的数据库没有订购,则可能不一定是您想要的那个月份。如果您的数据已经订购,那么再次订购相对便宜,为什么不呢? – Massif