2009-07-16 5 views
1

.NET에서 동시성을 쉽게 처리 할 수있는 잘 둥근 ORM을 찾고 있습니다. 스레드 세이프해야합니다.동시성이 좋은 .NET 용 ORM은 무엇입니까?

권장 사항은 무엇입니까? Pls 당신이 왜이 특정 ORM을 선택 정성 들여.

+3

ORM 프리폼이 스레드로부터 안전하지 않은 기능은 무엇입니까? 쿼리를 작성하고 실행하며 결과 세트를 오브젝트 그래프로 변환합니다. 누군가가 thread-safe 방식으로 이것을 구현할 수 있다면 무언가 잘못된 것이 있습니다. – jrockway

+0

"스레드 안전하지 않은 ORM 프리폼의 기능은 무엇입니까?" - 두 개의 동일한 쿼리가 두 개의 객체 그래프 (그래프 인스턴스)를 반환합니까, 아니면 동일한 객체 그래프/인스턴스를 반환합니까? – ChrisW

+0

@jrockway : O/R 매핑의 문제를 크게 과소 평가하고 있다고 생각합니다. 실제 ORM은 그 이상을 수행합니다. 예를 들어, NHibernate는 여러 캐시 레벨을 구현한다. http://ayende.com/Blog/archive/2008/01/24/NHibernate-and-the-second-level-cache-tips.aspx를 참조하십시오. 이렇게 많은 캐시를 가지고 쓰레드를 안전하게 유지하는 것은 어렵다. –

답변

9

오늘 사용하는 가장 좋은 방법은 여전히 ​​NHibernate입니다. 그것은 가장 긴 (자바에 대한 최대 절전 모드 참조) 주위에 있었고 단지 그것을 끝내 준다. 또한 훨씬 더 쉽게 작업 할 수있는 많은 도구가 있습니다. LINQ는 기능면에서 SQL에서 물 밖으로 날려 버립니다 (사용하기 쉽지 않음). 버전 1의 Entity Framework는 사용할 준비가되지 않았습니다. 다음 버전 (Entity Framework 4.0)은 훨씬 개선 될 것이며 가치가있을 것입니다.

+0

NHibernate를 선택하기 전에 이것을 선택한다. NHibernate 커뮤니티는 늦게까지 매우 활동적으로 보인다. 또한 다른 사람들과 마찬가지로 풍부한 기능이 있습니다. LLBGen은 리드 개발자로서 저에게 두 번째로 가까이에 있습니다. Frans Bouma는 또한 커뮤니티에서 매우 적극적입니다. 나는 집에서 LLBLGen이 동시성을 다루는 것을 보았다. 나는 개념과 여전히 투쟁 중이다 ... – firefly

+1

+1 : Linq를 SQL에 사용하는 것이 더 쉽다는 것을 인정하기 위해. –

2

당신이 db 액세스를 언급하고 있다고 주장하면서 스레드 안전 부분을 이해하지 못했습니다. Nhibernate가이 최상의 IMHO를 수행한다고 말하고 싶지만 (동시성을 처리하는 것이 ORM의 근본 임에도 불구하고).

이상적으로 나는 각자가 파이에 자신의 차례를 얻는 세상에 살고 싶습니다. 불행히도 그 일은 일어나지 않을 것이며 Nhibernate와 these strategies 중 하나를 시도 할 것입니다.

은 낙관적 더러운, 버전 화 또는

비관적는 필요에 이러한 기반에 적용됩니다.
ORM을 선택하는 것은 커뮤니티의 요소이기는하지만 기능 세트 만이 아니라 커뮤니티와 환경 시스템이 얼마나 활동적인지에 따라 결정되어야합니다. 당신이 그것을 IdeaBlade의 DevForce는 ORM 도구를 넘어 정교한 프레임 워크를 줄 수있는 경우에

또한, NHProf, Linq to NH, Nhibernate SearchNhibernate Validator

1

를보십시오. LOB 엔터프라이즈 응용 프로그램에 대한 권장 사항입니다.

은 n 계층 환경에서 엔터프라이즈 .NET 개발 및 배포를 수행 할 수있는 포괄적 인 플랫폼입니다. 다양한 기능 중 정교한 개체 지속성, 클라이언트 측 캐싱, 고급 데이터 바인딩, 비즈니스 규칙 유효성 검사, 오프라인/연결 끊김 작업 지원, 웹 서비스 게시 및 사용 지원을 제공합니다. 또한 확장 성과 보안을 제공하고 인터넷을 통해 .NET 응용 프로그램을 n 계층으로 배포 할 수있게 해주는 응용 프로그램 서버 인 Business Object Server (BOS)를 포함합니다.

+0

이 제품을 평가할 시간이 없었습니다. – firefly

1

LLBLGen Pro는 좋은 것들 중 하나입니다. 나는 그것을 내 프로젝트에서 사용하고 있으며 잘하고있다. O/R 매퍼를 처음 사용하기 때문에 LLBLGen 프로에서 사용할 수있는 다른 O/R 매퍼를 비교할 수 없습니다. 그것은 자유롭지는 않지만 돈을 쓰는 것이 좋은 것이라고 생각합니다.

이러한 링크가 도움이 될 수 있습니다.

http://weblogs.asp.net/fbouma/archive/2004/03/06/85125.aspx http://www.llblgen.com/defaultgeneric.aspx

그러나 우리에게 말해 않는 O/R 매퍼를 선택하십시오. 이것은 우리가 미래에 결정을 내리는 데 도움이 될 것입니다.

관련 문제