带有多个on子句和算术的linq子句

时间:2015-03-26 18:35:22

标签: linq

我想知道如何在" On"中进行简单的算术运算。 linq的条款。

from oldstatus in ctx.LoanStatHistory
join newstatus in ctx.LoanStatHistory
on 
    new {oldstatus.Loan_Id, oldstatus.Order} equals 
    new {newstatus.Loan_Id, (newstatus.Order - 1)}
select new {....}

我在(newstatus.Order - 1)下面得到一个红色下划线警告,它表明匿名类型投影初始化程序应该是简单名称或成员访问表达式

1 个答案:

答案 0 :(得分:3)

您只需要在第二个匿名表达式中为第二个字段指定与第一个表达式中的字段相同的名称:

from oldstatus in ctx.LoanStatHistory
join newstatus in ctx.LoanStatHistory
on 
    new {oldstatus.Loan_Id, oldstatus.Order} equals 
    new {newstatus.Loan_Id, Order = (newstatus.Order - 1)}
select new {....}

其他字段的名称是从您直接使用的属性中推断出来的。

相关问题