我想知道如何在" 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)下面得到一个红色下划线警告,它表明匿名类型投影初始化程序应该是简单名称或成员访问表达式
答案 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 {....}
其他字段的名称是从您直接使用的属性中推断出来的。