你应该等待什么?如果您考虑一下,您过去编写的任何代码在今天都将与当时一样运行良好。LINQ 是否比大多数早期方法更有效率?在我看来,是的,但是我真的很喜欢 LINQ。Linq To Entity 更好吗?不,它只是不同,老实说,在许多情况下,它的工作量要大得多。LINQ 的 IJW(它只是有效!)因素确实令人难以置信,它是很长一段时间内来自 Microsoft 的最优雅的技术之一。未来会不会有更好的东西?最有可能的。但是我们活在当下并编码,等待未来是一件愚蠢的事,因为总会有更好的东西在地平线上。
也就是说,这是抽象的一个很好的论据。当你设计你的类时,问问自己,我可以在我的数据层中替换 X(Linq、ADO.Net 等)而不破坏我的应用程序的其余部分吗?如果你能回答是,你可能有一个很好的设计。做一个合适的数据层真的不是那么难,它允许你灵活地从 Linq 切换到任何其他 ORM(链接到实体、nHibernate 等),甚至切换到一个完全不同的后端,比如Web 服务,或者下一个伟大的事物是什么。
此外,如果它让您放心,LINQ 也无济于事。它是语言的一部分,正在单声道中实现,并且正在添加更多的 linq 提供程序。即使微软转向不同的技术,你仍然会看到人们使用和支持 Linq。见鬼,它已经在某种程度上发生在 Linq to Entities 中,你仍然看到大多数使用 Linq 的开发人员大多会忽略 L2E。今天使用 LINQ 的唯一主要缺点是缺乏可免费获得的可靠 MySQL/PostOgre linq 提供程序,但有一些正在开发中。