Quando faço amizade com o LINQ to SQL, parece que a MS está puxando o tapete de debaixo dele.
Pelo meu pouco de pesquisa, EF é um exagero para um trabalho simples. Mas, após esse anúncio, vale a pena continuar a usar o LINQ to SQL?
Além do futuro para LINQ to SQL, isso geralmente não envia um sinal ruim? Dada a velocidade com que a MS está jogando bits contra a parede, é racional usar qualquer um dos novos bits antes do tempo? (e isso é gentil, não é cedo para LINQ to SQL!).
Para meu trabalho de LINQ to SQL, acho que estou indo para a SubSonic!
Atualização: Algumas novas opiniões:
http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx
linq-to-sql
rp.
fonte
fonte
Dead or Alive
ouDead on arrival
?Respostas:
1) Eles não podem "matar" o Linq-to-SQL, pois ele já faz parte da estrutura .net. O que eles podem fazer é parar de adicionar recursos a ele. Isso não impede que os milhares de desenvolvedores que já estão usando o L2S o estendam e aprimorem. Algumas áreas principais são difíceis de tocar, mas já são sólidas e os recursos do designer que faltam podem ser facilmente aparafusados .
2) Uma das sessões PDC EF mostra que eles aprenderam algumas lições com o fiasco do EFv1 e agora estão copiando e colando muitas das coisas boas do L2S na EF e fingindo que são coisas novas da EF. Em outras palavras, a versão dois do L2S acaba de ser "renomeada" como EF.
3) LINQ como tal (Language Integrated Query) é a melhor coisa desde sorvete fatiado e pode ser usado com muitas outras coisas além de L2S (Linq para objetos, Linq para entidades, Linq para XML, Linq para qualquer coisa ) Portanto, a tentativa do grupo DP de forçar [as grandes massas de] adotantes do L2S a [o menos popular e atualmente com falhas] Entity Framework não é razão para não aprender o Linq.
Veja também este tópico (que acredito ter desencadeado parcialmente a postagem no blog de Tim): http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4061922&SiteID=1
Atualização 1: A edição de dezembro de 2008 da matéria de capa da Visual Studio Magazine, de Roger Jennings, é uma boa leitura sobre o assunto, com algumas comparações entre L2S e EF: http://visualstudiomagazine.com/features/article.aspx?editorialsid=2583
Atualização 2: Anders Hejlsberg foi citado no Redmond Developer News por ter dito " LINQ to SQL não está morto. Posso garantir a você, ele não está morto. Nada nunca vai embora. Nunca fizemos isso e nunca faremos. "
http://reddevnews.com/blogs/weblog.aspx?blog=3016
fonte
Há uma ambigüidade em sua pergunta que precisa ser resolvida.
LINQ! = LINQ para SQL
Existem várias tecnologias e provedores LINQ:
... e esses são apenas os da Microsoft. Existem provedores não-MS também, incluindo NHibernate.
A postagem do blog que você vinculou fala apenas sobre Linq para SQL.
A principal vantagem do LINQ é que você pode aprender e usar uma sintaxe de consulta e reutilizá-la em várias tecnologias.
Diante disso, eu sugeriria que qualquer percepção de falta de futuro para "Linq para SQL" é irrelevante, pois as habilidades que você ganha ao escrever consultas LINQ serão transferíveis para outras ferramentas no futuro.
fonte
Não estamos eliminando o LINQ to SQL. Estamos otimizando para EF, mas LINQ to SQL definitivamente não está sendo eliminado :)
- Scott / Microsoft.
fonte
Não apenas você deve aprender Linq (System.Linq.Enumerable e System.Linq.Queryable), você precisará aprender os aprimoramentos da linguagem de programação para sua linguagem .net.
Em C # 3.0, eles incluem:
Leia mais aqui .
No VB 9.0, há alguma mágica do XML embutido e muitas outras coisas (muitas são semelhantes à lista acima para C #).
Leia mais aqui .
fonte
Eu honestamente não entendo onde naquele artigo você leu que link2sql está morto.
Na postagem do blog que você vinculou a ele diz:
Estamos ouvindo os clientes em relação ao LINQ to SQL e continuaremos a desenvolver o produto com base nos comentários que recebemos da comunidade também.
Para mim, parece que LINQ to SQL será desenvolvido e com suporte no futuro. Eu me pergunto por que você acha que ele está morto?
fonte
Concedido, eu acho que a escolha entre LINQ to SQL, LINQ to Entities e LINQ to [inserir ORM de terceiros] aqui fornece um ecossistema perfeitamente saudável de metodologias de camada de acesso a dados que um desenvolvedor de software pode escolher. Provedores terceirizados como NHibernate, LLBLGen e até Subsonic (não tenho certeza se eles vão oferecer provedores LINQ) definitivamente tornarão a competição melhor e mais interessante.
Dito isso, será totalmente triste para a Microsoft abandonar o LINQ to SQL, especialmente porque ele tem um bom número de seguidores - até mesmo o StackOverflow é construído sobre ele.
fonte
Postagem de blog interessante sobre isso. E algumas informações relacionadas em postagens Stackoverflow .
A essência básica parece ser os comentários feitos no blog ado.net que afirmam que o Entity Framework é a única coisa que está ganhando tempo de desenvolvedor importante para Visual Studio 2010 e Dot Net 4.
Minha resposta é - DUH. Todos nós sabemos disso. A Microsoft disse publicamente no PDC 2007 que o LINQ to SQL era um lançamento de curto prazo para o SQL Server porque não havia nenhuma outra história do LINQ para o SQL Server. Ele só funciona com o SQL Server. Você não pode escrever um provedor LINQ to SQL - não existe um modelo para ele. Era uma tecnologia isolada, não extensível.
O Entity Framework é a ÚNICA maneira da Microsoft criar um Provedor LINQ. O Entity Framework revelou-se bastante controverso, mas acho que isso se deve em parte ao fato de que o LINQ to SQL tem uma experiência de programador melhor hoje. O Entity Framework irá capturar e superar o LINQ to SQL porque é a ferramenta ORM / Mapping do futuro da Microsoft.
EDITAR - Acabei de escrever um pouco mais detalhado sobre isso no meu blog
EDIT2 - Provedor IQueryable - NÃO é a mesma coisa que um provedor LINQ to SQL. Você pode escrever seu próprio Provedor IQueryable para o que quiser. Você não recebe suporte de designer ou geração de modelo. Não há nenhum modelo de designer de GUI que eu conheça para vincular a geração de modelos LINQ to SQL.
fonte
Acho que realmente não vejo o problema aqui. Do artigo que você vinculou:
Estou esquecendo de algo? O que dá a impressão de que o LINQ to SQL está morto na chegada?
fonte
Scott Guthrie me disse que eles não matariam o LINQ to SQL:
Publique em LINQDev.com
fonte
Alguém se lembra do VB6? Quer você pessoalmente odeie ou ame, a Microsoft vendeu milhões de cópias, e as empresas gastaram milhões de dólares escrevendo milhões de linhas de VB6. O que aconteceu depois?
Portanto, apenas considere essa lição. Para mim, parece que o suporte LinqToSQL será bastante relutante. Eles são obrigados a dar suporte porque está no framework .NET atual. Mas será no .NET 5, 6, 7 ...? Pense no quanto isso é importante para você (pelo que sei, não importa para você).
fonte
Talvez você não deva se preocupar em aprender Linq para SQL, mas ainda há as Entidades Linq que eles manterão.
fonte
Veja também http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx e os comentários lá
fonte
É óbvio que 2 ORMs é um para muitos na caixa de ferramentas da Microsoft, mas para mim parece que a estrutura errada foi escolhida por todos os motivos errados. O fato de que a equipe C # fez o trabalho que a equipe ADO.NET deveria fazer em muito menos tempo e fez o trabalho muito melhor é difícil de engolir para a equipe ado.net. Não que eu saiba o funcionamento interno dos 2 frameworks, mas acho que seria muito mais rápido atualizar as deficiências que o linq2sql tem para o framework de entidade.
Parece haver muita política envolvida e acho que isso realmente vai prejudicar a reputação do asp.net, uma vez que não tenho confiança que o framework Entity nos dará uma experiência tão amigável quanto o Linq2sql. A equipe ado.net também pode aprender algumas habilidades de comunicação com a equipe mvc do asp.net, pois os esclarecimentos sobre o problema são, na melhor das hipóteses, vagos.
Seria divertido aprender o que Scott Gu e sua equipe MVC representam aqui, já que a maioria de seus exemplos está usando Linq2Sql.
fonte
Sempre foi um pouco estranho que com Linq 2 Sql e Entity Framework houvesse grandes áreas de sobreposição. Acho que a única razão pela qual o L2S só conseguiu chegar ao .NET 3.5 foi porque havia uma grande dúvida de que a EF algum dia veria a luz do dia. Agora que o EF1 foi lançado, seja um v1 muito bruto, não havia mais necessidade do L2S.
fonte
(não, StingyJack, LINQ to SQL não usa a estrutura de entidade)
De qualquer forma, eu não me preocuparia. Tim afirma que eles estão ouvindo os clientes em relação ao LINQ to SQL. A julgar pelo entusiasmo que vi pela L2S, os clientes (somos nós) falarão o que pensam.
E, como KristoferA aponta, eles não podem realmente 'matar' L2S, apenas congelá-lo. E o L2S, uma vez polido, não requer muito desenvolvimento adicional. Com o provedor L2S instalado, quaisquer avanços no LINQ também devem estar disponíveis no L2S. Portanto, a escolha ainda será nossa.
fonte
A próxima versão do Windows Phone 7, codinome Mango, inclui um SQL Server Compact Edition acessível via Linq para SQL http://jesseliberty.com/2011/05/10/coming-in-mangosql-server-ce/
fonte