문제

NHibernate용 엔터티 클래스 및/또는 hbm 파일 및/또는 SQL 스크립트를 생성하는 데 가장 적합한 도구는 무엇입니까?

아래 목록은 다음에서 가져온 것입니다. http://www.hibernate.org/365.html, 어느 것이 가장 좋은가요? 왜 그렇습니까?

  • 기존 Visual Studio 프로젝트에 병합할 수 있는 Moregen 무료 오픈 소스(GPL) O/R 생성기입니다.또한 생성된 클래스에 대한 변경 사항을 병합합니다.
  • NConstruct Lite NHibernate O/R 매핑 소스 코드를 생성하기 위한 무료 도구입니다.다양한 데이터베이스 지원(Microsoft SQL Server, Oracle, Access)
  • GENNIT NHibernate 코드 생성기 WYSIWYG 온라인 UML 디자이너를 사용하여 NHibernate 코드의 무료/상용 Web 2.0 코드 생성.
  • NHibernate 템플릿 상용 제품을 갖춘 GenWise Studio;기존 데이터베이스를 가져오고 팩토리를 포함한 모든 XML 및 클래스를 생성합니다.또한 NHibernate BO-Layer에 대한 asp.net 웹 애플리케이션을 자동으로 생성할 수도 있습니다.
  • HQL 분석기 및 hbm.xml GUI 편집기
  • Mats Helander의 ObjectMapper는 NHibernate를 지원하는 매핑 GUI입니다.
  • MyGeneration은 템플릿 기반 코드 생성기 GUI입니다.템플릿 라이브러리에는 데이터베이스에서 매핑 파일과 클래스를 생성하기 위한 템플릿이 포함되어 있습니다.
  • AndroMDA는 MDA(Model Driven Architecture)를 사용하여 UML 모델을 배포 가능한 구성 요소로 변환하는 오픈 소스 코드 생성 프레임워크입니다.이는 지속성 프레임워크로 NHibernate를 사용하는 데이터 액세스 계층 생성을 지원합니다.
  • NH용 CodeSmith 템플릿
  • NHibernate Helper Kit는 클래스 및 매핑 파일을 생성하는 VS2005 추가 기능입니다.
  • NConstruct - 지능형 소프트웨어 공장 상용 제품;간단한 마법사 절차를 통해 정보 시스템의 모든 계층에 대한 전체 .NET C# 소스 코드 생성.NHibernate 기반의 O/R 매핑.WinForms 및 ASP.NET 2.0 모두에 해당됩니다.
도움이 되었습니까?

해결책

살펴보시면 될 것 같아요 유창한 NHibernate 대신에.매핑을 생성하면 항상 80% 표시에 이르게 되며 원하는 것을 얻으려면 여전히 사용자 정의해야 합니다.Fluent-NHibernate를 사용하면 컴파일이 안전하고 리팩터링 친화적인 API로 엔터티를 매핑할 수 있습니다.

다른 팁

많은 새로운 기능과 유창한 nhibernate, 일대다 및 다대다 매핑을 지원하는 새로운 2.0 베타 2 릴리스가 있습니다.

http://www.codeplex.com/Wikipage?ProjectName=nmg

시험해 볼 수 있습니다 Mindscape NHibernate 디자이너 Visual Studio 2010에 설치됩니다.아직 시도하지는 않았지만.

이를 수행하는 상용 도구는 다음과 같습니다. 시각적 NH절전 모드. 저는 Visual NHibernate를 만드는 회사인 Slyce Software에서 일하고 있습니다.

업데이트: Visual NHibernate는 이제 오픈 소스로 공개되었습니다.보다: 발표

스스로에게 물어봐야 할 첫 번째 질문은 왜 발전기가 필요한가입니다.솔직히, 내 경험상 hbm 파일을 작성하는 것은 전혀 어렵지 않았습니다.

즉, 정말로 hbm 파일을 작성하고 싶지 않다면 다음을 살펴봐야 할 것입니다. 활성 레코드.

Fluent에 대해 몇 가지 이야기를 들었지만 사용해본 적이 없어서 말씀드릴 수 없습니다.hbm 파일에 대해 Intellisense를 설정했습니까?나는 단지 내 자신의 XML 파일을 작성했지만 그것이 당신이 찾고 있는 것이 아니라는 것을 알고 있습니다.

테이블을 생성하기 위해 SQL 스크립트로 무엇을 찾고 계십니까?NHibernate의 장점 중 하나는 즉각적인 쿼리 생성이므로 모든 객체에 대해 SP를 생성할 필요가 없습니다.

Devart의 NHibernate Designer를 살펴보십시오. NHibernate용 엔터티 개발자

메모:데바트컴퍼니.

나는 NConstruct lite와 codesmith를 모두 시도했습니다.VB로 작성된 기존 asp.net 프로젝트에 대해 기존 데이터베이스에서 개체 모델을 가져와야 했습니다. 제 경험은 다음과 같습니다.

코드스미스의 단점:

  • 테이블 간 상속을 감지하지 못합니다.
  • 데이터베이스 보기를 매핑하지 않습니다.
  • 복잡한 사용법

코드스미스의 장점:

  • C# 및 VB를 생성합니다.
  • PostgreSQL을 포함한 다양한 DB 엔진 지원
  • 비주얼 스튜디오 통합

NConstruct 단점 :

  • VB를 생성하지 않고 C#만 생성합니다.
  • 소수의 DB 엔진, SQL-Server, Oracle 및 MS-Access만 있음

NConstruct 전문가:

  • 뷰용 지도
  • 일부 상속을 자동 감지합니다(1-1 관계의 경우).
  • 단순한

내 경우에는 NConstruct가 나를 위해 작업의 약 60%를 수행했습니다.

예, hbm 파일을 작성하는 것은 매우 간단합니다.

그러나 DB가 크면 큰 고통입니다.

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