在查询中使用lambda表达式

时间:2013-12-14 13:50:50

标签: c# linq azure lambda

我在Windows Azure Web角色上运行此查询,需要获取相关的实体集,但我的lambda表达式似乎不起作用。

 var query = from p in applicationsContext.Programs.Expand(p => p.Campus)
                    where p.ProgramId == Int32.Parse(programsList.SelectedValue)
                    select p;

我已经使用System.LinqSystem.Data.Entities,但lambda表达式(p => p.Campus)会导致错误:

  

无法将lambda表达式转换为字符串类型,因为它不是委托类型

知道为什么这不起作用?

编辑:Intellisence似乎也没有认识到lambda表达式中的'p',这可能是问题的一部分。

3 个答案:

答案 0 :(得分:2)

我认为Expand必须获取字符串参数(link)。那么你就不能使用委托而不是字符串。

答案 1 :(得分:0)

我会猜测:p.Campus除了字符串类型之外还有什么东西?

答案 2 :(得分:0)

不确定您要反对的数据源,但不要对内部Expand语句重复使用相同的“p”:

 var query = from p in applicationsContext.Programs.Expand(t => t.Campus)
                    where p.ProgramId == Int32.Parse(programsList.SelectedValue)
                    select p;