Saya selalu belajar sendiri untuk menangani kode akses data dalam 'lapisan' yang sepenuhnya terpisah dengan logika bisnis dan kode UI saya. Ini selalu menjadi arsitektur yang sangat baik bagi saya dan 'aturan' atau praktik terbaik yang saya lihat, masih berhasil menyesuaikan dengan gaya pengkodean ini, terutama Prinsip Tanggung Jawab Tunggal .
Untuk sebagian besar proyek rumah saya, saya akan menggunakan ORM saya sendiri yang saya buat, yang selalu saya maksudkan untuk membuat open-source. Namun sejak itu, LINQ menjadi tersedia, yang sangat mirip dengan cara kerja ORM saya (tapi .. lebih baik).
Tidak ada yang sebelumnya dapat saya lakukan dengan ORM saya sendiri yang sekarang tidak dapat saya lakukan dengan LINQ (kecuali bit dari integrasi REST). Jadi pertanyaan saya adalah; itu LINQ Lapisan Akses Data baru saya? Apakah saya perlu lapisan ini lagi? Haruskah BLL saya hanya berbicara langsung dengan LINQ? Atau masihkah praktik buruk ini?
Edit:
Pertanyaan aslinya mengacu pada LINQ ke Entitas, tetapi ada banyak jawaban menarik tentang LINQ ke SQL. Apa pendapat orang tentang keduanya? Saya mengumpulkan dari LINQ ke SQL tidak bisa benar-benar menggantikan DAL, tetapi bisakah Entity Framework?