Когда я подружился с LINQ to SQL, мне кажется, что MS вытаскивает почву из-под него.
Судя по моему небольшому исследованию, EF слишком много для простой работы. Но после этого объявления есть смысл продолжать использовать LINQ to SQL?
Помимо будущего LINQ to SQL, разве это не просто плохой сигнал? Учитывая скорость, с которой MS бросает биты об стену, рационально ли использовать какие-либо новые биты раньше? (и это любезно, для LINQ to SQL еще рано!).
Что касается моей работы с LINQ to SQL, я думаю, что направляюсь в SubSonic!
Обновление: пара новых мнений:
http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx
linq-to-sql
рп.
источник
источник
Dead or Alive
илиDead on arrival
?Ответы:
1) Они не могут «убить» Linq-to-SQL, поскольку он уже является частью инфраструктуры .net. Что они могут сделать, так это перестать добавлять к нему функции. Это не мешает тысячам разработчиков, которые уже используют L2S, расширять и улучшать его. К некоторым основным областям сложно прикоснуться, но они уже прочны, и недостающие функции дизайнера можно легко закрепить .
2) Один из сеансов PDC EF показывает, что они извлекли пару уроков из фиаско EFv1, и теперь они копируют и вставляют много положительных моментов из L2S в EF, делая вид, что это новый материал EF. Другими словами, вторая версия L2S была переименована в EF.
3) LINQ как таковой (Language Integrated Query) - лучшая вещь, поскольку нарезанное мороженое, и его можно использовать с множеством других вещей, кроме L2S (Linq для объектов, Linq для объектов, Linq для XML, Linq-to-something ). Таким образом, попытка группы DP заставить [огромные массы] приверженцев L2S перейти на [менее популярную и в настоящее время несовершенную] Entity Framework не является причиной не изучать Linq.
Также см. Эту ветку (я считаю, что это частично вызвало сообщение в блоге Тима): http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4061922&SiteID=1
Обновление 1: выпуск журнала Visual Studio Magazine за декабрь 2008 г., подготовленный Роджером Дженнингсом, является хорошим чтением по этой теме с некоторыми сравнениями L2S и EF: http://visualstudiomagazine.com/features/article.aspx?editorialsid=2583
Обновление 2: Андерс Хейлсберг был процитирован в Redmond Developer News, сказав: « LINQ to SQL не мертв. Могу вас заверить, он не мертв. Ничто никогда не исчезнет. Мы никогда этого не делали и никогда не будем ».
http://reddevnews.com/blogs/weblog.aspx?blog=3016
источник
В вашем вопросе есть двусмысленность, которую необходимо решить.
LINQ! = LINQ to SQL
Существует целый ряд технологий и поставщиков LINQ:
... и это только от Microsoft. Есть также поставщики, не относящиеся к MS, в том числе NHibernate.
В сообщении в блоге, которое вы связали, говорится только о Linq to SQL.
Ключевым преимуществом LINQ является то, что вы можете изучить и использовать один синтаксис запроса и повторно использовать его в нескольких технологиях.
Учитывая это, я бы предположил, что любое предполагаемое отсутствие будущего для «Linq To SQL» не имеет значения, поскольку навыки, которые вы приобретаете при написании запросов LINQ, будут перенесены в другие инструменты в будущем.
источник
Мы не убиваем LINQ to SQL. Мы оптимизируемся под EF, но LINQ to SQL точно не убивают :)
- Скотт / Microsoft.
источник
Вам нужно не только изучить Linq (System.Linq.Enumerable и System.Linq.Queryable), но и изучить улучшения языка программирования для вашего .net-языка.
В C # 3.0 к ним относятся:
Подробнее читайте здесь .
В VB 9.0 есть некоторая встроенная магия XML и многое другое (многие из них похожи на приведенный выше список для C #).
Подробнее читайте здесь .
источник
Я, честно говоря, не понимаю, где в той статье вы читали, что link2sql мертв.
В сообщении блога, на которое вы ссылаетесь, говорится:
Мы прислушиваемся к отзывам клиентов о LINQ to SQL и продолжим развивать продукт на основе отзывов, которые мы получаем от сообщества.
Для меня это выглядит так, как будто LINQ to SQL будет разрабатываться и поддерживаться в будущем. Интересно, почему ты думаешь, что он мертв?
источник
Конечно, я думаю, что выбор между LINQ to SQL, LINQ to Entities и LINQ для [вставки стороннего ORM] предоставляет здесь совершенно здоровую экосистему методологий уровня доступа к данным, из которых может выбирать разработчик программного обеспечения. Сторонние поставщики, такие как NHibernate, LLBLGen и даже Subsonic (не уверен, что они собираются предлагать поставщиков LINQ), безусловно, сделают конкуренцию лучше и интереснее.
При этом Microsoft будет совершенно грустно отказаться от LINQ to SQL, тем более что у него есть хорошие последователи - даже StackOverflow построен на нем.
источник
Интересный пост в блоге об этом. И некоторая сопутствующая информация о сообщениях Stackoverflow .
Основная суть, по-видимому, заключается в комментариях в блоге ado.net , в которых утверждается, что Entity Framework - единственное, на что у разработчиков больше времени уделяется Visual Studio 2010 и Dot Net 4.
Мой ответ - ДУХ. Мы все это знали. Microsoft публично заявила на PDC 2007, что LINQ to SQL - это краткосрочная версия для SQL Server, поскольку другой истории с LINQ для SQL Server не существует. Он работает только с SQL Server. Вы не можете написать поставщика LINQ to SQL - для него нет модели. Это была разовая технология, не расширяемая.
Entity Framework - ЕДИНСТВЕННЫЙ способ от Microsoft создать поставщика LINQ. Entity Framework оказалась довольно противоречивой, но я думаю, что отчасти это связано с тем, что сегодня у LINQ to SQL больше опыта программиста. Entity Framework уловит и превзойдет LINQ to SQL, потому что это инструмент будущего ORM / Mapping от Microsoft.
РЕДАКТИРОВАТЬ - я только что немного подробнее написал об этом в своем блоге
EDIT2 - поставщик IQueryable - НЕ то же самое, что поставщик LINQ to SQL. Вы можете написать свой собственный поставщик IQueryable для чего угодно. Вы не получаете ни поддержки дизайнера, ни создания модели. Я не знаю модели дизайнера графического интерфейса для привязки к генерации модели LINQ to SQL.
источник
Думаю, я действительно не вижу здесь проблемы. Из статьи, которую вы связали:
Я что-то упускаю? Что создает впечатление, что LINQ to SQL не работает по прибытии?
источник
Скотт Гатри сказал мне, что они не убьют LINQ to SQL:
Опубликовать на LINQDev.com
источник
Кто-нибудь помнит VB6? Независимо от того, ненавидите вы это или любите, Microsoft продала миллионы копий, а компании потратили миллионы долларов на написание миллионов строк VB6. Что произошло дальше?
Так что просто примите во внимание этот урок. Мне кажется, что поддержка LinqToSQL будет довольно скупой. Они обязаны поддерживать его, потому что он находится в текущей платформе .NET. Но будет ли это в .NET 5, 6, 7 ...? Только подумайте, насколько это важно для вас (насколько я знаю, для вас это вообще не имеет значения).
источник
Возможно, вам не стоит утруждать себя изучением Linq to SQL, но есть еще Entities Linq, которые они сохранят.
источник
См. Также http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx и комментарии там
источник
Очевидно, что 2 ORM - это одна ко многим в наборе инструментов Microsoft, но мне кажется, что была выбрана неправильная структура по всем неправильным причинам. Тот факт, что команда C # выполнила работу, которую группа ADO.NET должна была сделать в гораздо более короткие сроки, и сделала ее лучше, для команды ado.net трудно принять. Не то, чтобы я знаю внутреннюю работу двух фреймворков, но я думаю, что было бы намного быстрее обновить недостатки linq2sql, которые есть в структуре сущностей.
Кажется, здесь слишком много политики, и я думаю, что это действительно повредит репутации asp.net, поскольку я не верю в эту структуру Entity, которая даст нам такой же удобный интерфейс, как Linq2sql. Команда ado.net может также научиться некоторым коммуникативным навыкам у команды asp.net mvc, поскольку пояснения по проблеме в лучшем случае расплывчаты.
Было бы интересно узнать, что здесь представляют Скотт Гу и его команда MVC, поскольку большинство их примеров используют Linq2Sql.
источник
Всегда было немного странно, что с Linq 2 Sql и Entity Framework были большие области пересечения. Я думаю, что единственная причина, по которой L2S попал только в версию .NET 3.5, заключалась в том, что существовало большое сомнение в том, что EF когда-либо увидит свет. Теперь, когда EF1 отсутствует, пусть это будет очень грубая версия 1, L2S больше не нужен.
источник
(нет, StingyJack, LINQ to SQL не использует структуру сущностей)
В любом случае, я бы не стал волноваться. Тим заявляет, что они прислушиваются к мнению клиентов относительно LINQ to SQL. Судя по энтузиазму, который я наблюдал в отношении L2S, клиенты (это мы) будут высказывать свое мнение.
И, как указывает KristoferA, они не могут «убить» L2S, а только заморозить его. И L2S, однажды отполированный, действительно не требует особого дальнейшего развития. При наличии поставщика L2S любые улучшения LINQ должны быть доступны и в L2S. Так что выбор останется за нами.
источник
Следующая версия Windows Phone 7 с кодовым названием Mango включает SQL Server Compact Edition, доступный через Linq to SQL http://jesseliberty.com/2011/05/10/coming-in-mangosql-server-ce/
источник