ฉันสอนตัวเองอยู่เสมอเพื่อจัดการรหัสการเข้าถึงข้อมูลใน 'เลเยอร์' แยกจากกันอย่างสมบูรณ์เพื่อตรรกะทางธุรกิจและรหัส UI ของฉัน นี้ได้เสมอสถาปัตยกรรมที่ดีมากสำหรับผมและใด ๆ 'กฎ' หรือการปฏิบัติที่ดีที่สุดที่ฉันเห็นยังคงจัดการเพื่อให้พอดีกับรูปแบบของการเข้ารหัสนี้โดยเฉพาะอย่างยิ่งSingle รับผิดชอบหลักการ
สำหรับโครงการบ้านส่วนใหญ่ของฉันฉันจะใช้ ORM ของฉันเองที่ฉันสร้างขึ้นซึ่งฉันตั้งใจจะทำโอเพ่นซอร์สเสมอ อย่างไรก็ตามตั้งแต่นั้นมา LINQ ก็พร้อมใช้งานซึ่งคล้ายกับวิธีการออมของฉัน (แต่ .. ดีกว่า)
ก่อนหน้านี้ฉันไม่สามารถทำอะไรกับ ORM ของฉันที่ฉันไม่สามารถทำได้กับ LINQ (ยกเว้นบิตของการรวม REST) ดังนั้นคำถามของฉันคือ LINQ เป็น Data Access Layer ใหม่ของฉันหรือไม่ ฉันต้องการเลเยอร์นี้อีกเลยหรือไม่ BLL ของฉันควรคุยกับ LINQ โดยตรงหรือไม่ หรือการปฏิบัติที่ไม่ดีนี้ยังคง?
แก้ไข:
คำถามเดิมหมายถึง LINQ to Entities แต่มีคำตอบที่น่าสนใจมากมายเกี่ยวกับ LINQ กับ SQL ประชาชนคิดอะไรกับทั้งคู่? ฉันรวบรวมกว่า LINQ ไปเป็น SQL ไม่สามารถแทนที่ DAL ได้จริง แต่ Entity Framework สามารถทำได้หรือไม่