문제

현재 사용하고 NetTiers 를 생성하는 데이터 액세스를 계층과 서비스 계층입니다.사용 NetTiers 에 대한 2 년 이상하고 있는 것을 발견 매우 유용합니다.에서 어떤 시점에서 볼 필요가 LINQ 그래서 제 질문은...

  1. 다른 사람에서 사라 NetTiers LINQ to SQL?
  2. 이 스위치를 통해 좋거나 나쁜 일이 무엇입니까?
  3. 거기는 아무것도 나는 알고 있어야 합니까?
  4. 추천할만 이 전환?

기본적으로 나는 어떤 생각을 환영 .

도움이 되었습니까?

해결책

  1. No
  2. #1 참조
  3. 당신을 조심해야의 표준 추상 오버헤드가 발생합니다.또한 그것의 SQL 서버에 기반을 둔 그것의 현재 상태입니다.
  4. 당신은 당신을 사용하여 SQL 서버,다음,어쩌면.를 사용하는 경우 LINQ 다른 것을 지금 다음과 같 XML 데이터를(위대한),목적 데이터,데이터 집합,다음 예야기가 있는 단일 데이터에 대한 구문들 모두.아 lagerdalek 언급하는 경우 그것은 없을 끊었지요.에서 빠른입니다.netTiers 응용 프로그램 프레임워크에,나는 말이 이미 있다면으로 투자하는 솔루션을 그것은 당신보다 훨씬 더 간단한 데이터 액세스를 계층과 스틱해야 합니다.

내 경험에서 LINQ to SQL 좋은 해결책에 대한 작은 중간 크기의 프로젝트입니다.It is an ORM 는 좋은 방법은 생산성을 향상시킬 수 있습니다.그것은 또한 의 다양한 선택을 할 수 있습니다 추상화 계층을 할 수 있도록 변경으로 레이어 아래에 대한 다른 무언가이다.디자이너 Visual Studio 에서(그리고 내가 믿 대 Express 도)는 것은 매우 쉽고 간단하게 사용합니다.그것은 당신이 일반적인 드래그 앤 드롭하고 속성을 기반으로 하는 편집하는 개체의 매핑됩니다.

@ 제이슨 잭슨 -디자이너지를 추가할 수 있 속성에 의해 손으로,그러나 당신이 필요로하는 특성을 지정하는 속성을 가지고 있지만,당신이 이렇게 한 번,그것은 걸릴 수 있습니다 3 분 이상 초기 드래그의 테이블의 디자이너,그러나 그것은 필요하면 당경 데이터베이스에 자체입니다.이것은 너무 다른 ORMs,그러나 당신이 올바른 것들을 만들 수 있습이 훨씬 더 쉽고,찾을 수 있는 속성을 변경했거나 심지어 일부를 구현하는 종류의 리팩터링 도구에 대한 필요합니다.

리소스:

Note Parallel LINQ 이 개발되고 있 수 있도록 훨씬 더 높은 성능 멀티 코어에 기계입니다.

다른 팁

나 Linq to SQL 을 사용하는 작은 프로젝트는 생각,내가 원하는 무언가를 생성할 수 있다.내가 달렸으로 많은 문제가에서 디자이너입니다.예를 들어,언제나 당신이 필요에 열을 추가하려면 테이블은 기본적으로 제거하고 다시 추가 테이블에서 정의합니다.가 설정되어 있다면 어떤 특성 테이블에 당신을 다시 설정하는 사람들의 속성.나를 위해 이것이 정말로 느 개발 과정이다.

LINQ to SQL 자체가 좋은 것입니다.내가 정말 좋아합성되어 있습니다.는 경우 향상 시킬 수 있습니다 그들은 디자이너가 다시 시도하십시오.내 생각에는 프레임워크에서 좀 더 많은 기능을 목표로 연결이 끊긴 모델 다음과 같습니다.

체크아웃 스콧 오클라호마 LINQ to SQL 시리즈 블로그 게시물에 대한 몇 가지 좋은 예를 어떻게 사용이 그것 있습니다.

NetTiers 을 위해 아주 좋은 생성하고 무거운 강력한 DAL 고,우리가 사용하는 그것에 대해 내부적으로 핵심 라이브러리와 프레임워크.

그것을 보고,LINQ(에서 모든 화신,하지만 구체적으로 생각으로 당신이 요구하는 SQL)은 환상적인 빠른 데이터 액세스,그리고 우리는 일반적으로 사용에 대한 더 많은 민첩한 경우입니다.

두 기술은 매우 유연성을 변경하지 않고 재생의 코드 또는 dbml 층이다.

는 제대로 사용 LINQ2SQL 는 매우 강력한 솔루션 당신도 그것을 사용하기 시작한 미래의 발전으로 인해 그것의 사용 편의성,하지만 나는 버리지 않을텐데 현재 DAL 한다면 파산 아닌가요...

내 경험에 알를 사용하여 linq 를 사용하여 수행할 수 있습니다 더 빨리,그러나 실제 동작하는 데이터베이스도가 떨어질 수 있습니다.

그래서...만약 당신이 작은 데이터베이스 내가 말한 그것을 위해 이동합니다.하지 않을 경우,내가 기다릴 것이라는 일부의 개선하기 전에 변경

내가 사용하여 LINQ to SQL 에서 상당히 큰 프로젝트는 지금(대략 150 테이블)과 그 밖으로 작업하기 위해 매우 잘 나입니다.마지막 ORM 데이터를 수신하는 데 사용할 프레임워크 및 그것은 잘했지만의 마술을 얻을 매핑을 수행했다.LINQ to SQL 에서 수행이 아주 잘 나를 위해 그리고 지금까지는 입증하는 매우 쉽게 사용할 수 있습니다.가 확실히 어떤 차이를 극복하기 전환에,그러나 나는 그것을 권장의 사용입니다.

면,나는 사용하지 않거나 읽을 대 NetTiers 그래서 나지 않을 것인 그것의 효과하지만,LINQ to SQL 일반적으로 입증되었는 매우 실행 가능한 ORM.

우리의 팀은 사용하는 데 사용되는 NetTiers 고 그것을 발견하는 것은 도움이 될 수 있습니다.하지만...더 많은 우리가 그것을 사용하고,더 많은 우리가 발견한 두통과 고통점을 가진다.예를 들어,언제든지 변경할 데이터베이스에,당신은 당신을 다시 생성 DAL 와 CodeSmith 는 참여:

  • 다시 생성하는 코드 라인의 수천에 있는 3 개의 프로젝트
  • 다시 생성하는 수백 개의 저장 프로시저

어쩌면 다른 방법이있다,그것은 그러나 이것은 우리가 무엇을 해야 했다.Re-gen 의 소스 코드를 확인,무서운,그러나 확인.실제 문제를 함께 저장합니다.지 않은 깨끗한 사용하지 않는 저장 프로시저는 경우 그래서 제거에서 테이블 스키마 다시 gened 당신의 달,저장에 대한 절차에 테이블을하지 않았 제거됩니다.또한,이 되었다 꽤 두통를 위한 데이터베이스를 변경하는 스크립트리 비교하는 데이터베이스 구조에게 새로운 중 하나 만들고 변경하는 스크립트를 업데이트 클라이언트 설치합니다.이 스크립트를 실행할 수 있습으로의 수천 수만 라인의 sql 코드고 있었다면 문제는 그것을 실행하는 변함없이었다,그것은 아주 고통을 해결합니다.

다음 빛에왔,NHibernate 로 ORM.그것은 확실히 증가하는 시간은 그것만 잘 가치가있다.의 톤이있다 지원을 위해 그것은 그렇게 무언가가있는 경우에 당신은 필요가 수행,보다 더 많은 가능성이 되기 전에 수행.그것은 매우 유연하고 제어할 수 있습의 모든 측면 그것은 그리고 일부입니다.그것은 또한 더 쉽고 쉽게 사용할 수 있습니다.Fluent Nhibernate 이 오는 중대한 방법으로 제거하는 xml 매핑하는 데 필요한 파일 및 NHibernate 프로파일러를 제공하는 훌륭한 인터페이스가 무엇을 보려고 뒤에서 효율을 높이고 제거하는 중복합니다.

에서 이동 NetTiers 을 NHibernate 되었습 고통스러운,그러나 좋은 방법이다.그것은 우리를 강제로 이동하는 더 나은 건물과 재평가 기능적이 필요합니다.NetTiers 제공 톤의 데이터에 액세스 코드를 얻을,이는 엔티티에 의해 그것의 id,이것을 얻을 다른 엔티티에 의해 그것의 외국인 핵심을 얻을 tlist 및 vlist 이고는,그러나 그것의 대부분은 불필요한 사용되지 않습니다.NHibernate 으로 일반적인 저장소에 저장소 및 사용자 정의 필요한 부분에만 감소의 톤을 사용하지 않는 코드는 정말 가독성 증가와 신뢰성이다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top