Стоит ли ждать чего? Если вы подумаете об этом, любой код, который вы написали бы в прошлом, сегодня будет работать так же хорошо, как и тогда. Является ли LINQ более продуктивным, чем большинство из этих более ранних методов? На мой взгляд, да, но тогда мне очень нравится LINQ. Linq To Entities лучше? Нет, он просто другой, и, честно говоря, во многих случаях это немного более эффективно. IJW (это просто работает!) Фактор LINQ действительно невероятен, это одна из самых элегантных технологий, появившихся в Microsoft за очень долгое время. Будет ли что-то лучше в будущем? Более вероятный. Но мы живем и кодируем в настоящем, и ожидание будущего - это глупое поручение, потому что всегда есть что-то лучшее за горизонтом.
Тем не менее, это хороший аргумент для абстракции. Когда вы разрабатываете свои классы, спросите себя, могу ли я заменить X (Linq, ADO.Net и т. Д.) На своем уровне данных, не нарушая остальную часть моего приложения? Если вы можете ответить «да», у вас, вероятно, довольно хороший дизайн. Создание правильного слоя данных на самом деле не так сложно, и это позволяет вам гибко переключаться с Linq на любой другой ORM (Link to Entities, nHibernate и т. Д.) Или даже переключаться на совершенно другой сервер, например Веб-сервисы, или что-то еще, что будет дальше.
Кроме того, если вам будет удобно, LINQ никуда не денется. Его часть языка реализуется в моно, и добавляются другие поставщики linq. Даже если Microsoft перейдет на другую технологию, вы все равно увидите людей, использующих и поддерживающих Linq. Черт, это уже произошло в некоторой степени с Linq to Entities, и вы все еще видите, что большинство разработчиков, использующих Linq, в основном игнорируют L2E. Единственный существенный недостаток использования LINQ сегодня - это отсутствие надежного свободно доступного поставщика MySQL / PostOgre linq, но некоторые из них находятся в разработке.