나는 항상 비즈니스 로직과 UI 코드에 대해 완전히 별도의 '계층'으로 데이터 액세스 코드를 처리하도록 가르쳤다. 이것은 항상 나에게 아주 좋은 아키텍처였으며 내가 본 '규칙'이나 모범 사례는 여전히 이러한 스타일의 코딩, 특히 단일 책임 원칙에 적합 합니다.
대부분의 가정 프로젝트에는 필자가 만든 자체 ORM을 사용하며 항상 오픈 소스를 만들려고했습니다. 그러나 그 이후로 LINQ를 사용할 수있게되었으며 이는 ORM의 작동 방식과 매우 유사했습니다 (그러나 더 좋습니다).
이전에는 LINQ로 수행 할 수없는 내 자체 ORM으로 이전에 수행 할 수있는 작업이 없습니다 (REST 통합 비트 제외). 내 질문은; LINQ가 새로운 데이터 액세스 계층입니까? 더 이상이 레이어가 필요합니까? 내 BLL이 LINQ와 직접 대화해야합니까? 아니면이 나쁜 습관이 여전히 있습니까?
편집하다:
원래 질문은 LINQ to Entities에 관한 것이지만 LINQ to SQL에 대한 흥미로운 답변이 많이 있습니다. 두 사람에 대한 사람들의 생각은 무엇입니까? LINQ to SQL보다 DAL을 실제로 대체 할 수는 없지만 Entity Framework는 수집 할 수 있습니까?