Lambda Select传递额外参数

时间:2013-04-27 17:09:55

标签: c# entity-framework parameter-passing

我有一个Category表,我将结果传递给方法:

view.Category = ctx.Categories.Select(CategoryMap.IndustryPage).ToList();

完美无缺。现在我想将一个额外的项目传递给IndustryPage()函数

public static CategoryIndustryView IndustryPage(DAL.Category data, int indID)

我厌倦了以下内容,但我知道语法已经过时了:

view.Category = ctx.Categories.Select(CategoryMap.IndustryPage(this,industryID)).ToList();

如何将indID传递给Select,以便IndustryPage()函数可以访问它?

更新/工作

使用下面的@MarcinJuraszek,我能够使用它:

var catData = ctx.Categories.ToList();
view.Category = catData.Select(x => CategoryMap.IndustryPage(x, industryID)).ToList();

我首先将记录检索到catData然后执行SELECT ..工作!

1 个答案:

答案 0 :(得分:4)

使用lambda expression代替方法组:

view.Category = ctx.Categories.Select(x => CategoryMap.IndustryPage(x, industryID)).ToList();