.NET 데이터 계층을 구축하기위한 Microsoft의 현재 모범 사례? 그리고 현실?


13

내가 작업하고있는 개발 팀은 곧 .NET 4.0으로 옮겨 갈 것입니다. 그러나 우리가 사용하는 데이터 액세스 클래스 라이브러리는 여전히 SqlDataReader , DataTable 등을 의미하는 ADO.NET "클래식"을 사용합니다 . 한편, 마이크로 소프트처럼 보이고 아마도 전 세계가 Entity Framework와 WCF Data Services 로 발전하고있을 것입니다 . MSDN에서 Microsoft가 모범 사례로 간주하는 데이터 액세스 기술 중 어느 것을 나타내는 것도 발견하지 못했습니다.

Microsoft가 선호합니까? 현재 대부분의 사람들이 사용하는 데이터 액세스는 무엇입니까? ADO.NET 클래식을 유지하고 Entity Framework로 이동하지 않는 좋은 이유가 있습니까?


좋은 질문. 하나의 의미 : "데이터 계층"이 더 정확한 용어 일 수 있습니다. "계층"은 별도의 상자에서 실행할 수있는 분산 시스템의 일부를 의미 할 수도 있습니다.
azheglov

1
@azheglov, "데이터 계층"이 처음으로 생각되었지만이 내용을보고 MSDN에서 본 용어 ( msdn.microsoft.com/en-us/library/bb384398.aspx) 와 함께 사용하기로 결정했습니다 . 데이터 레이어가 더 정확하다는 데 동의합니다.
T. Webster

웹스터 : 찾아보고
설명해

답변:


4

우리 회사에서는 EF를 사용하고 있습니다. 소규모 프로젝트에 적합한 멋진 ORM입니다. 실제로 사람들은 EF 또는 NHibernate를 사용하고 있습니다. 두 프레임 워크 모두 좋습니다. EF는 훌륭한 MS 지원을 제공하며 Visual Studio와 함께 제공되는 훌륭한 도구를 찾을 수 있습니다. NHibernate는 EF보다 우수하다고 여겨지지만 "학습 곡선"이 더 커서이를 채택하는 데 더 많은 시간을 할애합니다.

Ado.Net "클래식"을 사용하는 경우 EF를 사용해보십시오. 간단한 프로젝트를 만들고 일부 DAL 방법을 바꿉니다. 작동 방식 및 코드 관리 / 수정 방법을 확인하십시오. 간단한 "SqlDataReader"메서드와 비교하여 더 나은 방법을 결정하십시오. 모든 기술 전환에는 채택 시간이 필요하므로이 변경이 회사에 장기적으로 도움이 될지 계산해야합니다.


5

우리 팀은 EF로 옮기는 것이 약간의 어려움을 겪고 있습니다. EF가 나쁘거나 유용하지 않기 때문은 아니지만 ADO.Net framework 2.0에서 시작된 강력한 형식의 데이터 세트에서 기존 데이터 레이어를 (거의 방대한) 변환하는 범위는 실제로는 얻지 못하는 많은 집중적 인 작업입니다. 우리에게 무엇이든. 우리에게는 새로운 의견과 목표가 있기 때문에 우리는 여전히 새롭습니다. Silverlight 프로젝트의 경우 EF 및 RIA 서비스에만 중점을두고 있지만 웹 프로젝트 (webforms 및 MVC 3)의 경우 주로 Linq2Sql을 사용하고 있습니다.

Linq2Sql을 사용하면 두통이 줄어들고 개발 속도가 빨라지지만 Microsoft가 EF 의제 (특히 WCF 및 RIA 서비스)를 추진하고 있음을 알고 있습니다. Linq2Sql은 아무데도 가지 않지만 모든 새로운 장난감과 멋진 기능은 EF에 중점을 둘 것입니다. 조기에 선택권이 있다면 EF를 시작하는 것이 좋습니다. 이미 중류에 있다면 전환하기가 매우 쉽다는 것을 모르겠습니다.


3

Entity Framework가 선호되는 방법입니다. LinqToSql은 지원 및 유지 보수 될 것이지만 앞으로 개발 초점은 Entity Framework에 있습니다. ADO.NET Entity Framework와 LINQ to SQL 중 선택


현재 무엇을 사용하고 있습니까?
T. Webster

2
나는 모두 linq2sql을 사용하고 있다고 생각합니다
cnd

@nCdy : 우리 팀의 일부 회원은 Linq2Sql을 너무 "차이 한"것으로 간주했지만, 우리는 EF가 L2S가 우회하는 너무 많은 불필요한 쓰레기를 자동 생성한다는 의견입니다.
Joel Etherton
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.