我有这个返回列总和的LINQ代码。 我在这个表中有10个列,名称为:Role1,Role2,Role3到Role10。
如何在运行时动态创建LINQ代码,为所有列运行此代码并获取结果而不重复代码?
例如:
decimal result = 0;
for(int i=0; i <=10; i++)
{
result += STList.Where(c => c.Row_Role[i].ID == row.ID).Sum(p => p.Role[i]Current);
}
答案 0 :(得分:0)
你去吧
decimal result = 0;
result = STList.Where(c => c.Row_Role.Select(p=>p.ID).Contains(row.ID)).Sum(c => c.Row_Role.Select(p=>p.Current));
答案 1 :(得分:0)
我认为您正在尝试使用动态结果来获取linq查询。
请参阅here将解决大多数动态linq问题。