背景:在接下来的一个月里,我将做三次关于LINQ的演讲,或者至少将LINQ包含在c#的上下文中。我想知道哪些话题值得花相当多的精力,这取决于人们可能很难理解哪些话题,或者他们可能有错误的印象。我不会具体讨论LINQ to SQL或实体框架,只是作为如何使用表达式树(通常是IQueryable)远程执行查询的示例。

那么,你发现LINQ有什么难的地方吗?在误解方面你看到了什么?例子可能是以下任何一个,但请不要限制自己!

c#编译器如何处理查询表达式 Lambda表达式 表达式树 扩展方法 匿名类型 这个IQueryable 延迟执行与立即执行 流与缓冲执行(例如,OrderBy被延迟但被缓冲) 隐式类型局部变量 读取复杂的泛型签名(例如Enumerable.Join)


当前回答

其他回答

我发现很难找到关于匿名类型的明确信息,特别是在web应用程序的性能方面。 此外,我会建议更好和实用的lambda表达式示例和“如何”部分在查询和性能相关的主题。

希望我的简短清单能有所帮助!

我对LINQ还是个新手。以下是我第一次尝试时遇到的问题

将多个查询合并为一个查询 在Visual Studio中有效地调试LINQ查询。

我认为人们对LINQ的误解在于它是一种语言扩展,而不是数据库扩展或构造。

LINQ不仅仅是LINQ to SQL。

现在我们大多数人都在集合上使用了LINQ,我们再也不会回去了!

LINQ是。net自2.0的泛型和3.0的匿名类型以来最重要的特性。

现在我们有了Lambda,我等不及要进行并行编程了!

如前所述,延迟加载和延迟执行

LINQ to object和LINQ to XML (IEnumerable)与LINQ to SQL(IQueryable)有何不同

如何建立一个数据访问层,业务层,和表示层与LINQ在所有层....这是个很好的例子。

哪个更快,内联Linq-to-Sql还是使用Tsql spprocs的Linq-to-Sql

... 是否有使用服务器端(Sproc)或客户端(内联Linq)查询更好的情况。