2009-03-23 4 views
6

My C# Windows 서비스 (MVC 웹 응용 프로그램이 아닌 서비스 임)는 MYSQL 데이터베이스와 통신해야합니다. 내 데이터 계층의 작업을 쉽게하기 위해이 목적으로 ORM을 사용하려고합니다.. NET에서 제대로 작동하는 ORM

. NET ORM은 MYSQL 데이터베이스와 가장 잘 작동합니까? NHibernate? Subsonic? Entity Framework? LINQ2SQL? 아니면 다른 사람?

편집 : 나는 닷넷 3.5

편집 2를 사용 : 오픈 소스 솔루션을 선호했다.

답변

7

나는 완전히 편향되어 있지만, 나는 NHibernate로 갈 것이다. Access (CD 전달 용), Sql Server (기업용) 및 MySql (웃음)으로 작동하는 동일한 DAL 코드를 얻으려면 약간 조정해야합니다. 이것은 몇 년 전의 일이며 필자는 모든 환경에서 필드/테이블 이름이 유효한지 확인해야했습니다. 그 이외의 NHibernate는 나머지를했다 - 빛나는.

+1

* 필드/테이블 이름이 모든 환경에서 유효했는지 확인해야했습니다. * 더 많은 것을 정교하게 생각하여 그 함정을 피하는 방법을 알고 싶습니다. – Graviton

+0

mySql5 및 4와 함께 NHibernate를 사용했습니다. , 모두 나를 위해 완벽하게 일했다. +1 –

+0

나는 내 프로젝트에서 NHibernate를 사용했다 - 정말 대단한 경험이었다! – Graviton

0

나는 LLBLGen을 선호합니다.

+0

좋은 해결책 ...하지만 불행히도 그것은 무료가 아닙니다. – Graviton

+1

오, 나는 당신이 자유를 원했는지 몰랐습니다. :) – BobbyShaftoe

0

mysql 사양의 경우 NHibernate는 mysql에 0 값 날짜가있는 작은 문제가 있습니다. MSSQL과 postgres에서만 사용 했으므로 신경 쓰지 않아도됩니다.

Java 또는 다른 언어에서 Hibernate 또는 다른 ORM을 사용한 경험이있는 경우 NHibernate 또는 ActiveRecord (NHibernate 기반)는 매우 익숙 할 것입니다.

-1

계층화 된 개발을 위해 엔티티 프레임 워크 또는 LINQ to SQL을 사용하지 않을 것입니다. 그건 내가 LLBLGen 또는 NHibernate 중 하나를 시도하지 않은했다.

+0

그냥 그게 많은 가치를 가져 오지 않는다고 말하는 이유가 도움이 될 것입니다. –

5

나는 아무도 언급하지 않았다고 믿을 수 없다. Rob ConerySubSonic !! 이것은 모든 ORM 사용자를 대상으로해야합니다. 확실히 NHibernate는 그 지지자를 가지고있다, 위대한 tutorials와 많은 점. 그러나 Subsonic은 자동으로 DAL을 생성하고 비즈니스 계층, 테스트 및 프레젠테이션 계층의 비즈니스로 이동합니다.

관련 문제