2010-06-14 23 views
50

2008'in sonlarına doğru, LINQ'ın SQL'in geleceği hakkında pek çok tartışma oldu. Birçok kişi Microsoft'un .NET 4.0'daki Entity Framework'teki yatırımlarının LINQ'ın SQL'in geleceği olmadığını gösteren bir işaret olduğunu ileri sürdü. İnsanların anlaşmaya varmadığından kendi kararımı vermeden önce bekleyeceğimi düşündüm.LINQ to SQL kullanımdan kaldırıldı mı?

Hızlı ileri 18 ay ve LINQ to SQL'e dayanan çözümler sunan satıcılarım var ve bu konuda kişisel olarak bir deneyime sahibim ve onunla çalışmaktan gerçekten keyif aldım. Kalmak için burada olduğunu düşündüm.

Ama yeni bir kitap okuyordum (C# 4.0 How-To by Ben Watson) ve bölüm 21'de (LINQ), "Microsoft tarafından daha fazla veya daha az kullanımdan kaldırılmış" olduğunu ve LINQ'u Varlık olarak kullanmayı önerir. Çerçeve.

Size verilen soru, LINQ to SQL'in resmi olarak kullanımdan kaldırılıp kaldırılmadığı ve/veya yetkili varlıklar (Microsoft, Scott Gu vb.) LINQ yerine SQL'e LINQ yerine varlıkların kullanılmasını önermektedir.

+3

+1 Yoksul olup olmayacağına inananlardan biriydim ve üzgündüm. Ben de hoşuma gidiyor. – jsmith

+0

Hala tam olarak destekleniyor, ancak çok fazla genişletilmiyorsa, bu başka bir şeye geçmem gerektiği anlamına mı geliyor? Bunun yerine kullanmak için iyi ne olurdu? – BigOmega

cevap

58

: açıkça Linq SQL TAMAMEN .NET 4 DESTEKLİ olduğunu TechEd Avrupa'da söz Scott Guthrie kendisi ve Damien Muhafız üzerinde blog post ne yayınlanmıştır "ölümümden raporları oldukça abartılı olmuştur" ......

+7

Redmond Dev News röportajında ​​Hejlsberg'in söylediklerini buna ekleyin: _ "SQL'e LINQ ölmedi. Seni temin ederim, ölü değil. Hiçbir şey yok olmaz. Biz bunu hiç yapmadık ve asla yapmayacağız." _ http://reddevnews.com/blogs/desmond-file/2008/12/digital-darwinism.aspx – KristoferA

+2

Ölü veya ölmemekle birlikte, kullanımdan kaldırılmıştır. Ana soru budur. Microsoft’un taşıdığı hareketin, amiral gemisi ORM - EF’i zorlamak olduğunu söyleyen makaleleri var. L2S Tamamen Desteklenir ve herkesin bilmesi/öğrenmesi için kritiktir ... ancak odak noktası gerçekten de, gümüş/html5 ve mvc/webformlara benzer şekilde değişmiştir. Önceki teknolojilerin hiçbiri "ölü" değil, ileriye doğru ilerlemez. diğer şeylerle aynı hızda veya yönde. Onaylanmayan bir kelime biraz güçlü olabilir, çünkü bunun sonunda desteklenmeyeceğini veya kesinlikle reddedilemeyeceğini ima eder. Heillsberg'in söylediğine göre, –

+3

, doğuştan gelen yanlış bir ifadenin değişmesi ve kaybolup gitmemesi veya pencerelerin 3.1'in hala destekleyeceği .net 1.1, sunucu 2008'de resmi olarak desteklenecek ve microsoft hala demir dillerini destekleyecek ve tom gibi ölüleri öldürecek! = hala kullanılmakta ve desteklenmektedir, ancak artık aktif olarak geliştirilmekte değil, linq desteği için sql'nizi aktif tutmaya devam etmenizi öneriyorum, ancak mevcut ve gelecekteki gelişim için varlık çerçevesi çalışmasına doğru ilerlemeye başlayacağım –

8

Hayır öyle değil. Takım hala geliştirmek için çalışıyor. Tüm "Linq SQL ölü" millet için

4

bulunmasını sağlayın: değişiklikler ve iyileştirmeler Mark Twain alıntı yapacak

.NET 4'te Linq-to-SQL için yapılmıştır InfoQ.com'da yayınlanan this article'a bir bakış - gerçekten ilginç bir tanesi. Sonuç: "[O] ver, SQL için LINQ ve Varlıkların LINQ'ı birleştirecek. Bu arada, SQL'de LINQ geliştirme çalışması tamamen bitmeyecek."

0

Sanırım bir araya gelecekleri inevitsble. EF, db nesneleri üzerinde LINQ'un gerçekten kurumsal düzeyde uygulanmasıdır. linq2sql, aslında, aslında bacakları büyüten fakat EF'de gördüğümüz fikirlerin çoğunu körükleyen bir kavram (ve çok daha fazlası) kanıtıydı. Günün sonunda, DAL katmanı (nhibernate, EF, l2s, subsonic vb), LINQ hizmetini uygulayan istemci BO kodundaki herhangi bir farklılığı ortadan kaldıracak şekilde zincirden oldukça uzak olmalıdır - çalışırken değiştirilebilir DI üzerinden oyun.

12

Son kontrol ettim, bu site Linq To SQL'i kullanıyor (veya kullanmaktadır). Joel Spolsky bunu GoogleTechTalk’ta belirtiyor: http://www.youtube.com/watch?v=NWHfY_lvKIQ.

Yazılımdan söz edildiğinde, "ölü" bir figüratif düzenleyicidir (yazılım herhangi bir değişmez, biyolojik anlamda ölmez), bu nedenle ilgili tarafların herhangi bir sözcük anlamında tanımlamayı reddettiği sürece bu tartışma devam edebilir. "Linq To Die" anlamına gelir. Ya da, kısaca LTD. Bu nedenle, bu andan itibaren, LTD tartışması iki yıl sürdü. Hepsi biraz dilbilimsel belirsizlik nedeniyle. "L2S öldü" diyenlerin genellikle L2S'nin çok fazla (eğer varsa) yeni özellikler almayacağı gerçeğine atıfta bulunulduğu söylenir. Linq güncellemeleri (Damien Guard's post'da belirtilen güncellemeler gibi) muhtemelen performans, kullanılabilirlik ve kararlılık güncellemeleri ile sınırlı olacaktır. Tabii ki, bazı geliştiriciler bunun iyi bir şey olduğunu tartışabilirler (muhtemelen new dynamic type hakkında biraz çirkin olan aynı geliştiriciler). "L2S ölmedi" diyenlerin genellikle L2S'nin tamamen kesilemeyeceği gerçeğine atıfta bulunurlar. Net (en azından kısa bir süre sonra). Düşün: ADO.Uygulama geliştiricileri arasında çekiş gücünü kaybedebilir (ve Microsoft'ta bu kurnazların dile getirilmemiş arzusu olabilir), ancak bu, isterseniz L2S kullanamayacağınız anlamına gelmez. Bu sadece Microsoft'un kitleleri onunla çarpıtmaya çalıştığı anlamına gelir.

Bir projeye başlarken, EF ve L2S arasında bir seçim yapmanın harika olduğunu düşünüyorum. Bill Wagner points out gibi, her ikisi için de bir yer ve yer var.

8

Ben bu tartışmaya geç, ama ben itibariyle

" kadar geri 2008 olarak, SQL Proje Yöneticisi (Tim Mallalieu) bağlantı yaptığı blog post bu duyuru yaptı işaret etmek istedim .NET 4.0, LINQ to Varlıklar [LINQ to SQL yerine], LINQ için ilişkisel senaryolara önerilen veri erişim çözümü olacaktır. "

Aksine daha başka bir duyuru daha buldum.

İlgili konular