Tim pengembangan yang saya kerjakan akan segera pindah ke .NET 4.0, namun, pustaka kelas akses data yang kami gunakan masih menggunakan ADO.NET "klasik", yang berarti SqlDataReader , DataTable, dan sejenisnya. Sementara itu, sepertinya Microsoft dan mungkin seluruh dunia bergerak maju dengan Entity Framework dan Layanan Data WCF . Saya tidak menemukan apa pun di MSDN yang menunjukkan teknologi akses data mana yang dianggap praktik terbaik oleh Microsoft.
Apakah Microsoft memiliki preferensi? Akses data apa yang kebanyakan orang gunakan saat ini? Apakah ada alasan bagus untuk tetap menggunakan ADO.NET classic dan tidak pindah ke Entity Framework?
c#
.net
database-development
T. Webster
sumber
sumber
Jawaban:
Di perusahaan saya, kami menggunakan EF. Ini ORM yang bagus, cocok untuk proyek kecil kami. Pada kenyataannya orang menggunakan EF atau NHibernate. Kedua kerangka itu baik. EF memiliki dukungan MS yang hebat dan Anda dapat menemukan alat-alat hebat yang dibundel dengan Visual Studio. NHibernate dianggap lebih baik daripada EF tetapi ada "kurva pembelajaran" yang lebih besar sehingga Anda akan menghabiskan lebih banyak waktu untuk mengadopsinya.
Saya pikir, jika Anda menggunakan "klasik" Ado.Net, coba EF. Buat proyek sederhana dan ganti beberapa metode DAL. Periksa cara kerjanya dan bagaimana Anda dapat mengelola / memodifikasi kode. Bandingkan dengan metode "SqlDataReader" sederhana dan putuskan mana yang lebih baik. Ingatlah bahwa setiap perubahan teknologi membutuhkan waktu untuk adopsi sehingga Anda harus menghitung apakah perubahan ini akan bermanfaat bagi perusahaan Anda dalam jangka panjang.
sumber
Tim saya menemukan kenyataan pindah ke EF sedikit sakit. Bukan karena EF buruk atau tidak berguna, tetapi ruang lingkup mengkonversi lapisan data kami yang ada (cukup besar) dari kumpulan data yang sangat diketik yang berasal dari ADO.Net framework 2.0 ke EF hanyalah banyak pekerjaan intensif yang tidak benar-benar mendapatkan kita apa saja. Untuk hal-hal baru kita masih cukup terbelah karena kita semua memiliki pendapat dan tujuan. Untuk proyek Silverlight kami, kami hanya berfokus pada layanan EF dan RIA, tetapi untuk proyek web (formulir web dan MVC 3) kami menggunakan Linq2Sql terutama.
Kami menemukan lebih sedikit sakit kepala dan pengembangan yang lebih cepat menggunakan Linq2Sql, tetapi saya tahu Microsoft mendorong agenda EF (terutama dengan layanan WCF dan RIA). Linq2Sql tidak ke mana-mana, tetapi semua mainan baru dan fitur keren akan difokuskan ke EF. Saya katakan jika Anda punya pilihan sejak dini, EF akan menjadi tempat yang baik untuk memulai. Jika Anda sudah pertengahan aliran, saya tidak tahu bahwa itu akan sangat mudah untuk beralih.
sumber
Entity Framework adalah cara yang lebih disukai. LinqToSql akan didukung dan dipelihara tetapi fokus pengembangan ke depan adalah pada Entity Framework. Memilih antara ADO.NET Entity Framework dan LINQ to SQL
sumber