2010-04-03 2 views
4

LINQ to SQL의 좋은 점은 데이터베이스 테이블을 매핑하고 C# 프로젝트에서 액세스 할 수있는 클래스로 변환하는 빠르고 신뢰할 수있는 방법이었습니다. 그러나 LINQ to SQL을 사용하여 프로젝트를 만드는 것이 더 이상 권장되지 않습니다.LINQ to SQL과 같은 데이터베이스 테이블을 매핑 할 수있는 기능은 무엇입니까?

대체품은 무엇입니까? VS 2010에서 LINQ to SQL과 동일한 기능을 사용하려면 어떤 도구를 사용해야합니까?

+2

"LINQ to SQL을 사용하여 프로젝트를 만드는 것이 더 이상 권장되지 않습니다."- 어디에서나 읽을 수 있도록 링크해야합니다. –

+0

LINQ to SQL이 더 이상 지원되지 않는다고 발표 된 이후에 이것은 내 자신의 말입니다. 그것은 새로운 것이 아니라 새로운 프로젝트를 시작할 것이기 때문에 그것은 나에게 달려있다. 그러나 오래된 것들은 LINQ to SQL을 계속 사용합니다. – trnTash

+1

추가 개발은 Linq-SQL 대신 EF4에 초점을 맞출 것이라고 발표되었습니다. –

답변

7

왜 안 되니?

Linq-to-SQL은 여전히 ​​.NET 4에서 사용되고 있습니다. with bugfixes and improvements도 있습니다. 소규모 프로젝트의 경우 여전히 실용적인 솔루션입니다!

그래, 거기에 더 이상 개발되지 않습니다 -하지만 여전히 거기에 여전히 작동하고, 많은 프로젝트에 대한 완벽한 적합 - 그냥을 사용하십시오!

"미래 보장형"무언가를 갖고 싶다면 Entity Framework v4를 살펴 봐야합니다.

blog post을 참조하십시오. EF4에는 수많은 링크가 있습니다.

EF4는 매우 유망 해 보입니다. 단, 항상 2 단계 매핑 프로세스 (Linq-to-SQL은 테이블에서 개체로의 1 : 1 직접 매핑 임)를 기억하십시오. 유연성이 필요하다면이 방법이 유용 할 수 있지만 특정 오버 헤드가 추가되므로 단점이 될 수 있습니다.

당신은 정말, Linq는이 - 투 - SQL, 당신은 또한 다른 간단하고 사용하기 쉬운되는 SubSonic을 확인 할 수 있습니다 간단 한 계속 사용하지 않으려면 : 1 OR 매퍼를

+0

감사합니다. 당신의 의견으로는 작은 프로젝트가 무엇입니까? "소규모 프로젝트"라고 할 때 프로젝트의 코드 줄 수 (클래스 수, 하위 프로젝트 수 등)를 살펴 보십니까?)) 또는 귀하의 신청서를 사용할 사람들의 수에 따라 결정됩니까? – trnTash

+0

@trnTash : 테이블의 개수는 얼마나 적습니까? 얼마나 많은 기능이 있습니까? 그것은 단일 dev 또는 두 팀이 쉽게 관리 할 수 ​​있습니까? 그렇다면 -> 작은 프로젝트. 5 명 이상의 직원이 필요하면 더 이상 나를위한 작은 프로젝트가 아닙니다. –

0

나는 Nhibernate를 시험해 볼 것이다. 나는 그것이 효과적이라고 생각합니다. 결코 EF4를 사용한 적이 없기 때문에 실제로 비교할 수는 없습니다. Nhibernate를 사용하면 수동으로 모든 매핑을 선언 할 수 있지만 쉽게 쉽고 빠져 나갈 수 있으며 LINQtoSQL 생성 클래스를 사용하는 데 따른 제한이 없습니다. 또한 선호도에 따라 다르지만 생성 클래스와 인터페이스를 완벽하게 제어하는 ​​것을 좋아합니다. 구문 익숙해 지려면 다소 시간이 걸릴 수 있지만 실제로는 강력한 도구라고 생각합니다. 또한

http://nhforge.org/

를 사용하는 방법에 대한 몇 가지 놀라운 비디오 자습서

바로 여기에서 찾을 수 있습니다 : http://www.summerofnhibernate.com/

0

당신이 들어있을 수 있습니다 것은 마이크로 소프트는 LINQ 대신 엔티티 프레임 워크 개발 노력을 지출 할 것입니다 SQL에. Entity Framework는 LINQ to SQL 대체품으로 간주해야합니다.

EF는 데이터베이스에 일대일 매핑이 필요하지 않지만 데이터베이스에서 새 EF 모델을 생성 할 때 기본값입니다. 그런 식으로 LINQ to SQL과 동일합니다.

관련 문제