C#学习教程:传递选择器函数时OrderBy不会转SQL.名称).ToList();在SQLProfiler中,这是翻译后的SQL:SELECT[Extent1].[ID]AS[ID]、[Extent1].[Name]AS[Name]FROM[dbo]。[Table1]AS[Extent1]ORDERBY[Extent1].[Name]ASC哪个是对的。但是,如果我将选择器函数传递给OrderBy:Funcf=x=>x.Name;vart=db.Table1.OrderBy(f).ToList();翻译后的SQL是:SELECT[Extent1].[ID]AS[ID],[Extent1].[Name]AS[Name]FROM[dbo].[Table1]AS[Extent1]orderby根本没有翻译。问题是什么?它们是相同的lambda函数,唯一的区别是在第二种情况下,它首先分配给一个变量。在IQueryable的世界里,你需要一个Expression>作为OrderBy的扩展参数,而不是一个Funchttp://msdn.microsoft.com/en-us/library/system.linq.queryable.orderby以上是C#学习教程:传递选择OrderBy不会转换为SQL共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
