Pro LINQ argümanı, veritabanı geliştirme ile bir geçmişi olmayan insanlardan geliyor gibi görünüyor (genel olarak).
Özellikle VS DB Pro veya Team Suite gibi bir ürün kullanılıyorsa, burada yapılan argümanların çoğu geçerli değildir, örneğin:
Bakımı ve Testi Daha Zor: VS, tam sözdizimi denetimi, stil denetimi, başvuru ve kısıtlama denetimi ve daha fazlasını sağlar. Ayrıca, tam birim test yetenekleri ve yeniden düzenleme araçları sağlar.
LINQ, (aklımda) ACID testini geçemediğinden, gerçek birim testini imkansız hale getirir.
LINQ'da hata ayıklama daha kolaydır: Neden? VS yönetilen koddan tam adım atmayı ve SP'lerin düzenli hata ayıklamasını sağlar.
Dağıtım komut dosyaları yerine tek bir DLL dosyası olarak derlenir: VS, bir kez daha, tam veritabanları oluşturabileceği ve dağıtabileceği veya veri açısından güvenli artımlı değişiklikler yapabileceği kurtarmaya gelir.
LINQ ile TSQL öğrenmek zorunda değilsiniz: Hayır, ama LINQ öğrenmek zorundasınız - avantajı nerede?
Bunu gerçekten bir fayda olarak görmüyorum. Tek başına bir şeyi değiştirebilmek teoride iyi gelebilir, ancak değişikliklerin bir sözleşmeyi yerine getirmesi doğru sonuçları döndürdüğü anlamına gelmez. Doğru sonuçların ne olduğunu belirleyebilmek için içeriğe ihtiyacınız vardır ve bu içeriği arama kodundan alırsınız.
Gevşek bağlı uygulamalar, esnekliği gerçekten artırdıklarından tüm iyi programcıların nihai hedefidir. Bir şeyi izole olarak değiştirebilmek harika ve hala uygun sonuçları döndürmesini sağlayacak birim testleriniz.
Hepiniz üzülmeden önce, LINQ'nun yerini ve büyük bir geleceği olduğunu düşünüyorum. Ancak karmaşık, veri yoğun uygulamalar için saklı yordamların yerini almaya hazır olduğunu düşünmüyorum. Bu, TechEd'de bir MVP tarafından bu yıl yankıladığım bir görüştü (isimsiz kalacaklar).
EDIT: LINQ SQL saklı yordam tarafı şeylerin hala daha fazla okumak için gereken bir şey - ne bulduğuma bağlı olarak yukarıdaki diatribe değiştirebilir;)