我正在尝试将一些内联工作作为Statement Lambda注入到LINQ查询select中,如下所示:// NOTE: mcontext.Gettype() == System.Data.Linq.DataContext// Okay - compiles, nothing unusualvar qPeople1 = from ME.tblPeople person in mcontext.tblPeoples select person;// ERROR - see below compile Error - Can I retrofit this thing?var qPeople2 = from ME.tblPeople person in mcontext.tblPeoples select (() => { return person; })();错误: 错误2方法名称 预期的file.cs 166 27 MigrationCore...但是我也很高兴首先看到Expression Lambda的内联。注意:我知道代码示例在工作上是多余的,但是我正在寻找基本概念。如果可行,我会进行扩展。 最佳答案 lambda表达式有两种:匿名委托和表达式树。 LINQ to Objects使用前一种,并允许任何有效的匿名方法主体。后者由LINQ to SQL使用,并要求其主体为单个表达式。然后将该表达式传递到L2SQL运行时,并处理到发送给服务器的SQL中。要执行内联工作,您将需要使用两个步骤:1)使用有效的select表达式获取SQL数据,然后2)使用LINQ to Objects以IEnumerable 的形式处理该数据来进行内联工作。可能看起来像这样:var qPeople1 = from ME.tblPeople person in mcontext.tblPeoples select person;var i = 0;var qPeople2 = qPeople1.AsEnumerable().Select(person => { i += 1; return person; });关于c# - 无法将Statement Lambda放入LINQ查询中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3261037/ 10-15 18:36