2013-07-02 24 views
1

我有这个LINQ代码返回列的总和。 我在这个表中有10列,这些名字是:Role1,Role2,Role3到Role10。如何在运行时动态创建linq代码并获得结果

我怎么能动态在运行时创建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); 
} 
+1

_什么是'STList'?什么类型是_“这张桌子”_ ? _ –

回答

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)); 
0

我认为你正尝试使用动态结果得到LINQ查询。

参见here将解决大多数动态linq问题。

相关问题