2008-10-15 6 views
11

다음 프로젝트에서 Object-Relational Mapping 패키지를 사용하고 싶습니다. 이 프로젝트는 ASP.NET 응용 프로그램으로 시작되지만 WinForms 응용 프로그램과 결국 공유 될 많은 기능을 갖게됩니다. 누구든지 ASP.NET과 WinForms 상황에서 잘 작동하는 좋은, 무료 ORM 패키지를 제안 할 수 있습니까?.NET 2.0/3.5에서 사용할 수있는 최상의 무료 ORM 도구

+0

[NHibernate - 좋은, 나쁜, 그리고 추한, 그것이 가져옵니다!] (http://izlooite.blogspot.com/2011/04/nhibernate-good-bad-and-ugly-that-it. html) –

+0

Telerik OpenAccess를 확인하십시오. 20 개 이상의 데이터베이스 지원. 그리고 그것의 무료도! VS 2010 디자이너는 EF 5.0을 좋아합니다. [link] http://www.telerik.com/products/orm.aspx –

답변

11

SubSonic은 nHibernate만큼 광범위하지 않습니다. 오히려 테이블 당 데이터 액세스 레이어 당 Active Record 1 클래스입니다.

일부 기능은 쿼리 도구, 저장 프로 시저를 실행하는 기능 및 ASP.net의 스캐 폴딩 응용 프로그램입니다. Config.app 파일에서 최소한의 학습 곡선과 최소한의 구성으로 30 분 이내에 실행할 수 있습니다.

+0

with this : http://valueinjecter.codeplex.com/wikipage?title=Data%20access%20layer% 20 % 28ORM % 29 % 20 % % 20the % 20Value % 20 인젝터 & referencingTitle = 집은 3 분 안에 가동 될 수 있습니다. – Omu

+0

@OOmu - 저는 몇 주 전에 valueinjecter를보고있었습니다. 매우 유망 해 보입니다. 직접적인 경험이 있습니까? –

4

음속 시도하고 당신은뿐만 아니라 Linq2Sql ORM을 사용할 수 있습니다.

6

나는 항상 Castle ActiveRecord을 권장합니다. NHibernate 상단의 레이어입니다. 그것은 당신이 언급 한 두 환경 모두에서 훌륭하게 작동합니다.

5

nHibernate는 나를 위해 작동하지만, 모두 당신이 무엇을하고 있는지에 달려 있습니다. 많은 사람들이 완전한 DDD 및 단원 테스트 경로를 사용하기를 원하지 않습니다. 그들은 데이터베이스를 객체에 매핑하여 코드를 좀 더 멋지게 만들뿐입니다. 그런 경우에는 Subsonic을 살펴보고 시작하는 것이 더 쉽습니다.

0

저는 소닉을 약 1 년 동안 ASP.NET 응용 프로그램과 WinForms 응용 프로그램에 사용했습니다. 시작하기 매우 쉽습니다. 아직 선택하지 않은 채로 "모서리에 그려져 있지 않습니다."- 일반적으로 쉽게 필요한 것을 할 수있는 방법이 거의 항상 있습니다. 나는 그것이 우리 개발 시간의 30 %를 줄였다 고 추정한다. 진정한 ORM 도구는 아니지만 생산성을 크게 향상시킵니다.

2

단순히 독립적 인 serveys에 따라 최대한 빨리 다른 많은을 수행하지 않는다는 사실에 의해 액티브을 조사하지 않았다 ORMs 및 전체 Linq 구현을 있지 않습니다.

DataObjects.NET은 모든 엔티티가 특수 클래스에서 파생되어야하지만 이에 대한 대가로 인 메모리 저장 프로 바이더 및 가장 완벽한 Linq 구현과 같은 훌륭한 성능과 장점을 제공합니다.

저는 오후에 DBLinq 소스 코드를 살펴 보겠습니다. 내 의견은 아직 미완성이며 (Linq-To-SQL의 기능 중 상당수가 구현되지 않았기 때문에) 프로덕션 시스템에는 권장하지 않습니다.

그렇다면 ... 무료, 빠른 오픈 소스, LINQ 준수 ORM을 찾고 있다면 DataObjects.NET은 매우 안전한 내기입니다.

5

보통 NHibernate XML 파일을 사용하는 대신 강력한 형식의 C#에서 매핑을 만들 수있는 Fluent NHibernate을 선호합니다. 그것은 믹스 앤 매치도 가능합니다 (코드와 XML에서 매핑을 가질 수 있습니다).

좋은 시작 안내서 here이 있습니다.

0

나는 NHibernate와 NHibernate Annotation을 사용한다. 파일 (entity.xml)을 매핑하지 않고 잘 작동합니다. 불행히도 Log4net에는 작은 xml 파일이 필요합니다.

0

Habanero 위대한 및 강력한 ORM. 무료 (LGPL 라이센스), .net 2.0 (나에게있어 매우 중요) 및 데이터베이스 (모델의 사용자 정의 클래스 및 특성 이름, 사용자 정의 유효성 검사 등)를 사용하여 모델을 생성하는 강력한 도구가 있습니다.

2

체크 아웃 XmlDataMapper 간단한 무료 ORM (LGPL 라이센스)은 다른 거인에 비해 메모리 사용량이 적습니다. 제공된 샘플 프로젝트는 시작하기에 충분해야합니다.

은 당신이 할 필요가 4 작은 단계
  • 테이블과 DTO 사이의 매핑 정보가 포함 된 XML 파일 만들기 테이블에 대한
    1. 비즈니스 엔티티/DTO를 만들기

      입니다 XmlDataMapper을 통합합니다.
    2. 구성에 DTO 및 xml 파일을 지정하십시오.
    3. 그냥 http://www.dbframeit.com에서 DTO/비즈니스 엔티티에 사용할 수
  • 1

    시도의 dbFrameIT를 데이터베이스 기록을 변환 할 DTOConverter.Convert (DataReader를) 및 기타 방법을 호출합니다. 사용하기가 매우 쉽고 무료 개인 사용 라이센스를 제공합니다.

    관련 문제