我开始在代码中使用LINQ作为真正的查询语言来帮助提高可读性。直到最近我才害怕触摸LINQ,因为LINQ to SQL团队在Entity Framework团队下移动(试图在这里忽略那个对话) - LINQ查询语言将是一个安全的赌注(在这个快速的任何事情中)移动行业)?
答案 0 :(得分:5)
值得区分“LINQ”和“特定的LINQ提供商”。我认为可以肯定地说LINQ本身就存在了 - 而且现象对于通过LINQ to Objects进行的进程内集合处理非常有用。
至于哪个LINQ提供商将“赢”(如果有的话) - 这是一个更难打电话。
我会当然了解LINQ本身的基本原理 - 而LINQ to XML也是一个可爱的XML API。
答案 1 :(得分:3)
Jon说,区分LINQ提供商非常重要。例如
警告:我在LINQ工作,所以我在这里很偏颇。
对于LINQ来说真正的好处是,我认为我们确实做对了,任何人都可以编写LINQ提供程序。所需要的只是一些正确名称的可绑定方法,突然间你有了查询语法。
var query = from it in someCollection select it.SomeProperty;
我可以在不使用任何3.5框架的情况下编写此语句。我有my own LINQ Provider与2.0框架相对应,并且与编译器中使用的查询语法兼容。
我个人更倾向于lambda / extension方法synatx,但结果代码确实没有什么不同。