Saat saya berteman dengan LINQ ke SQL, tampaknya MS sedang menarik permadani dari bawahnya.
Dari sedikit penelitian saya, EF terlalu berlebihan untuk pekerjaan sederhana. Tetapi setelah pengumuman ini, apakah ada gunanya terus menggunakan LINQ ke SQL?
Di luar masa depan untuk LINQ ke SQL, bukankah ini hanya mengirimkan sinyal yang buruk? Mengingat kecepatan MS melempar bit ke dinding, apakah rasional untuk menggunakan bit baru lebih awal? (dan itu ramah, ini belum terlalu awal untuk LINQ ke SQL!).
Untuk pekerjaan LINQ ke SQL saya, saya pikir saya sedang menuju ke SubSonic!
Pembaruan: Beberapa pendapat baru:
http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx
linq-to-sql
rp.
sumber
sumber
Dead or Alive
atauDead on arrival
?Jawaban:
1) Mereka tidak dapat "mematikan" Linq-to-SQL karena ini sudah menjadi bagian dari framework .net. Yang dapat mereka lakukan adalah berhenti menambahkan fitur ke dalamnya. Itu tidak menghalangi ribuan pengembang di luar sana yang sudah menggunakan L2S untuk memperluas dan meningkatkannya. Beberapa area inti sulit untuk disentuh tetapi sudah kokoh dan fitur desainer yang hilang dapat dengan mudah dipasang .
2) Salah satu sesi EF PDC menunjukkan bahwa mereka telah belajar beberapa pelajaran dari kegagalan EFv1 dan sekarang mereka menyalin dan menempelkan banyak barang dari L2S ke EF dan berpura-pura itu adalah barang EF baru. Dengan kata lain, L2S versi dua baru saja "diberi label ulang" EF.
3) LINQ seperti itu (Language Integrated Query) adalah yang terbaik sejak es krim irisan dan dapat digunakan dengan banyak hal selain L2S (Linq ke objek, Linq ke entitas, Linq ke XML, Linq-ke-apa pun ). Jadi upaya kelompok DP untuk memaksa [massa besar] pengadopsi L2S ke Kerangka Entitas [yang kurang populer dan saat ini cacat] bukanlah alasan untuk tidak mempelajari Linq.
Lihat juga utas ini (yang menurut saya sebagian memicu entri blog Tim): http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4061922&SiteID=1
Pembaruan 1: Edisi Desember 2008 dari cerita sampul Majalah Visual Studio oleh Roger Jennings adalah bacaan yang bagus tentang topik ini, dengan beberapa perbandingan L2S vs EF: http://visualstudiomagazine.com/features/article.aspx?editorialsid=2583
Pembaruan 2: Anders Hejlsberg dikutip di Redmond Developer News mengatakan " LINQ ke SQL tidak mati. Saya dapat meyakinkan Anda, itu tidak mati. Tidak ada yang hilang. Kami tidak pernah melakukan itu dan kami tidak akan pernah. "
http://reddevnews.com/blogs/weblog.aspx?blog=3016
sumber
Ada ambiguitas pada pertanyaan Anda yang perlu diselesaikan.
LINQ! = LINQ ke SQL
Ada banyak sekali teknologi dan penyedia LINQ:
... dan itu hanya dari Microsoft. Ada juga penyedia non-MS, termasuk NHibernate.
Posting blog yang Anda tautkan hanya berbicara tentang Linq ke SQL.
Keuntungan utama LINQ adalah Anda dapat mempelajari dan menggunakan satu sintaks kueri dan menggunakannya kembali di berbagai teknologi.
Mengingat hal ini, saya menyarankan bahwa segala kekurangan yang dirasakan tentang masa depan untuk "Linq To SQL" tidak relevan, karena keterampilan yang Anda peroleh dalam menulis LINQ Queries akan dapat ditransfer ke alat lain di masa mendatang.
sumber
Kami tidak mematikan LINQ ke SQL. Kami mengoptimalkan EF, tetapi LINQ ke SQL jelas tidak dimatikan :)
- Scott / Microsoft.
sumber
Anda tidak hanya harus mempelajari Linq (System.Linq.Enumerable dan System.Linq.Querable), Anda juga perlu mempelajari peningkatan bahasa pemrograman untuk bahasa .net Anda.
Di C # 3.0 ini termasuk:
Baca lebih lanjut di sini .
Di VB 9.0 ada beberapa keajaiban XML sebaris, dan banyak hal lainnya (banyak yang mirip dengan daftar di atas untuk C #).
Baca lebih lanjut di sini .
sumber
Sejujurnya saya tidak mengerti di artikel mana Anda membaca bahwa link2sql sudah mati.
Di postingan blog yang Anda tautkan, tertulis:
Kami mendengarkan pelanggan terkait LINQ hingga SQL dan akan terus mengembangkan produk berdasarkan masukan yang kami terima dari komunitas juga.
Bagi saya, bacaan seperti LINQ to SQL ini akan dikembangkan dan didukung di masa mendatang. Saya bertanya-tanya mengapa Anda pikir itu sudah mati?
sumber
Memang, menurut saya pilihan antara LINQ ke SQL, LINQ ke Entitas, dan LINQ untuk [masukkan ORM Pihak ke-3] di sini memberikan metodologi lapisan akses data ekosistem yang sangat sehat yang dapat dipilih oleh pengembang perangkat lunak. Penyedia pihak ketiga seperti NHibernate, LLBLGen dan bahkan Subsonik (tidak yakin apakah mereka akan menawarkan penyedia LINQ) pasti akan membuat persaingan menjadi lebih baik dan lebih menarik.
Karena itu, akan sangat menyedihkan bagi Microsoft untuk meninggalkan LINQ ke SQL, terutama karena ia memiliki pengikut yang baik - bahkan StackOverflow dibangun di atasnya.
sumber
Posting blog yang menarik tentang itu. Dan beberapa informasi terkait di postingan Stackoverflow .
Inti dasar tampaknya adalah komentar yang dibuat di blog ado.net yang menyatakan bahwa Entity Framework adalah satu-satunya hal yang mendapatkan waktu pengembang utama untuk Visual Studio 2010 dan Dot Net 4.
Tanggapan saya adalah - DUH. Kita semua tahu ini. Microsoft mengatakan secara terbuka kembali pada PDC 2007 bahwa LINQ to SQL adalah rilis jangka pendek untuk SQL Server karena tidak ada cerita LINQ lain untuk SQL Server. Ini hanya bekerja dengan SQL Server. Anda tidak dapat menulis LINQ ke penyedia SQL - tidak ada model untuk itu. Itu adalah teknologi satu kali, tidak bisa dikembangkan.
Kerangka Kerja Entitas adalah satu-satunya cara dari Microsoft untuk membangun Penyedia LINQ. Kerangka Kerja Entitas ternyata cukup kontreversial, tetapi saya pikir itu sebagian karena fakta bahwa LINQ ke SQL memiliki pengalaman pemrogram yang lebih baik saat ini. Entity Framework akan menangkap dan mengungguli LINQ ke SQL karena ini adalah alat ORM / Pemetaan masa depan dari Microsoft.
EDIT - Saya baru saja menulis sedikit lebih rinci tentang ini blog saya
EDIT2 - Penyedia yang Dapat Diperoleh - BUKAN hal yang sama dengan penyedia LINQ ke SQL. Anda dapat menulis Penyedia IQuerable Anda sendiri untuk apa pun yang Anda suka. Anda tidak mendapatkan dukungan desainer atau pembuatan model. Tidak ada model perancang gui yang saya ketahui untuk menghubungkan LINQ ke pembuatan model SQL.
sumber
Saya kira saya tidak benar-benar melihat masalahnya di sini. Dari artikel yang Anda tautkan:
Apakah saya melewatkan sesuatu? Apa yang memberi kesan bahwa LINQ mati pada saat SQL tiba?
sumber
Scott Guthrie memberi tahu saya bahwa mereka tidak akan mematikan LINQ ke SQL:
Posting di LINQDev.com
sumber
Ada yang ingat VB6? Apakah Anda secara pribadi membencinya atau menyukainya, Microsoft menjual jutaan salinan, dan bisnis menghabiskan jutaan dolar untuk menulis jutaan baris VB6. Apa yang terjadi selanjutnya?
Jadi pertimbangkan saja pelajaran itu. Bagi saya, tampaknya dukungan LinqToSQL agak enggan. Mereka wajib mendukungnya karena berada dalam framework .NET saat ini. Tapi apakah itu dalam .NET 5, 6, 7 ...? Pikirkan saja betapa hal itu penting bagi Anda (sejauh yang saya tahu, itu tidak masalah bagi Anda sama sekali).
sumber
Mungkin Anda tidak perlu repot-repot mempelajari Linq ke SQL, tapi masih ada Entities Linq yang akan mereka pertahankan.
sumber
Lihat juga http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx dan komentar di sana
sumber
Jelas bahwa 2 ORM adalah satu dari banyak di kotak alat Microsoft, tetapi bagi saya tampaknya kerangka kerja yang salah telah dipilih karena semua alasan yang salah. Fakta bahwa tim C # melakukan pekerjaan yang seharusnya dilakukan oleh tim ADO.NET dalam waktu yang jauh lebih singkat dan melakukan pekerjaan dengan lebih baik adalah sulit untuk diterima oleh tim ado.net. Bukan berarti saya tahu cara kerja internal dari 2 kerangka kerja tetapi saya pikir akan jauh lebih cepat untuk meningkatkan kekurangan linq2sql pada kerangka entitas.
Tampaknya ada terlalu banyak politik yang terlibat dan saya pikir ini benar-benar akan merusak reputasi asp.net, karena saya tidak percaya bahwa kerangka kerja Entitas akan memberi kita pengalaman yang sama ramah pengguna seperti Linq2sql. Tim ado.net juga dapat mempelajari beberapa keterampilan komunikasi dari tim MVC asp.net karena klarifikasi tentang masalah tersebut paling tidak kabur.
Akan menyenangkan mempelajari apa yang Scott Gu dan tim MVC berdiri di sini karena sebagian besar contoh mereka menggunakan Linq2Sql.
sumber
Itu selalu agak aneh bahwa dengan Linq 2 Sql dan Entity Framework ada banyak area tumpang tindih. Saya pikir satu-satunya alasan L2S berhasil masuk ke rilis .NET 3.5 adalah karena ada keraguan besar bahwa EF akan melihat terangnya siang hari. Sekarang EF1 sudah keluar, baik itu v1 yang sangat kasar, tidak perlu L2S lagi.
sumber
(tidak, StingyJack, LINQ ke SQL tidak menggunakan kerangka entitas)
Bagaimanapun, saya tidak akan khawatir. Tim menyatakan bahwa mereka mendengarkan pelanggan tentang LINQ ke SQL. Dilihat dari antusiasme yang saya lihat untuk L2S, pelanggan (yaitu kami) akan mengungkapkan pikiran mereka.
Dan, seperti yang ditunjukkan KristoferA, mereka tidak dapat benar-benar 'membunuh' L2S, hanya membekukannya. Dan L2S, setelah dipoles, tidak membutuhkan pengembangan lebih lanjut. Dengan penyedia L2S di tempat, semua kemajuan di LINQ harus tersedia juga di L2S. Jadi pilihan tetap menjadi milik kita.
sumber
Versi Windows Phone 7 berikutnya, nama kode Mango, menyertakan SQL Server Compact Edition yang dapat diakses melalui Linq ke SQL http://jesseliberty.com/2011/05/10/coming-in-mangosql-server-ce/
sumber