OleDb 및 저장 프로시저를 지원하는 좋은 .NET ORM Framework인가요?

StackOverflow https://stackoverflow.com/questions/118248

  •  02-07-2019
  •  | 
  •  

문제

우리 시스템의 일반적인 저장 프로시저는 약 20개 정도의 매개변수를 허용합니다.이러한 저장 프로시저를 리팩토링할 가능성도 없습니다.나는 기본적으로 SP 매개 변수에 해당하는 공용 속성을 사용하여 이러한 SP를 (데이터베이스 공급자에 구애받지 않는) "Command" 개체로 래핑하는 자체 코드 생성기를 작성했습니다.작동하지만 제3자가 시도하고 테스트한 솔루션을 선호합니다.

누구든지 추천할 수 있나요?OleDB 및 저장 프로시저를 지원하는 것을 찾지 못했습니다.

편집하다:SQL 6.5 때문에 OleDb 연결이 필요합니다(믿거나 말거나).ADO.NET은 SQL 6.5에 연결할 수 없습니다.또한 이것은 .NET 2.0 응용 프로그램이므로 LinqToSql은 나에게 쓸모가 없습니다.

편집2:나는 이미 nHibernate와 iBatis를 사용해 보았습니다.둘 다 내 필요에 맞지 않습니다.마지막으로 nHibernate를 시도했을 때 SP가 결과 세트를 반환해야 했습니다.내 SP의 경우에는 그렇지 않습니다.두 가지 모두 매개변수를 수동으로 지정해야 합니다.

도움이 되었습니까?

해결책

저는 3개의 ORM 레이어를 사용해 본 경험이 있습니다.

세 가지 모두 무료이며 OleDb 연결 및 저장 프로시저를 지원합니다.

Subsonic - 이것은 웹 애플리케이션용으로 특별히 제작되었습니다.이는 Ruby On Rails의 기능을 많이 모방합니다.방금 마이그레이션을 추가했습니다.아음속은 세 가지 중 가장 가볍습니다.Winforms에 사용하는 것이 조금 더 어렵지만 생각만큼 어렵지는 않습니다.코드를 생성하고 데이터베이스 설정을 유지 관리하는 멋진 UI 도구가 함께 제공됩니다.이는 다양한 데이터베이스를 지원하는 유일한 데이터베이스입니다.저는 SQLite, SQL Server CE 및 SQL Server와 함께 사용했습니다.

CSLA.NET - 이것은 새롭고 빛나는 .NET 기술을 거의 모두 처리할 수 있습니다.저자가 방금 WCF, WPF 및 Silverlight에 대한 지원을 추가했다는 것을 알고 있습니다.이것은 엔터프라이즈 유형 앱을 사용하여 매우 무거운 작업이 필요할 때 사용하는 것입니다.무제한 개체 실행 취소, 컬렉션을 읽기 전용으로 표시하는 기능, 원하는 위치로 개체를 이동하고 고정하는 기능과 같은 멋진 기능이 많이 있습니다.이는 JBoss가 Java에서 수행하는 작업에 가장 가까운 것입니다.

Net Tiers - 저는 큰 팬은 아니지만 작업이 완료될 것입니다.CSLA보다 가볍지만 여전히 Subsonic보다 무겁습니다.

나는 또한 언급하고 싶다 NH절전 모드, 캐슬 액티브 레코드, 그리고 Microsoft 엔터프라이즈 라이브러리.하지만 나는 이것에 대한 경험이 많지 않습니다.

다른 팁

내가 들은 바에 따르면 ADO .NET Entitry 프레임워크는 저장 프로시저를 거의 지원하지 않습니다.LINQ2SQL을 사용하면 작동할 수 있지만 일종의 프록시 클래스가 필요할 수 있습니다.NHibernate와 IBatis가 최선의 선택입니다...

대안:

  1. LINQ에서 SQL로
  2. ADO.NET 엔터티 프레임워크
  3. NH절전 모드
  4. 당신의 선택)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top