2012-02-05 3 views
1

나는 거대하고 거친 시스템과 같은 마이크로 옴 시스템의 기본 원리를 이해하고 있지만 관계를 가지고 어떻게 테이블을 모델링 할 수 있는지 이해하는 데 어려움을 겪고있다.NHibernate에서 Massive 또는 Dapper로 바꾸기

즉 :

카테고리 1 --- M 제품

내 NHibernate에에서

, 또는 Linq2SQL 솔루션, 카테고리 목록 속성이 있습니다. 이런 종류의 관계를 어떻게 모델링 할 수 있는지에 대한 예가없는 것 같습니다. 특히 linq에서는 특정 이름의 제품이있는 카테고리를 선택할 수 있습니다.

+0

dapper의 경우, 프로젝트 홈 페이지는 다중 매핑 예제 (기본적으로 넓은 단일 결과 나머지 사용)와이를 수행하기위한 여러 결과 세트를 제공합니다. 당신이 이것을 시도 했습니까? http://code.google.com/p/dapper-dot-net/ –

+0

또한 http://stackoverflow.com/tags/dapper/info를 읽으십시오. 누락 된 정보가있는 경우, 표제를 편집하고 공백을 채 웁니다. –

답변

1

전통적인 ORM에서 전환하려는 경우. 나는 당신이 이것을보아야한다고 주장한다. video Rob Conery.

다른 도메인 개체 컬렉션이있는 도메인 개체에 대한 귀하의 관심에 우려를 표했습니다. 그것은 문제가되지 않습니다. 당신이 당신 자신에 의해 반대되는 그 영역의 가치를 두는이 시간이 바로 한가지입니다.

여기

Class Person 
{ 
    public String FirstName{get;set;} 
    public String LastName {get;set;} 
    public IEnumarable<Address> {get;set;} 
} 

Class Address 
{ 
    public String Address1 {get;set;} 
    public String Address2 {get;set;} 
} 

Dynamic personData = new DynamicModel("connectionString","TableName","PrimaryKey"); 

var resultPerson = personData.All(where: "where condition") 
or 
var resultPerson = personData.Query("Join query will be here") 

//Map resultPerson with PersonObject and return Person 
//Still this will be faster than EF as per benchmark shown on Dapper page 

처럼 나는이 대답을 줄 것이다 바랍니다. 작업 코드가 필요하면 알려주십시오.

+0

Conery는 개발자가 된 방법에 대해 너무 자랑스러워합니다 ... 그저 지점에 가면 – antew

+0

나는 개인적으로 역사 부분을 좋아합니다. 아직도 당신이 좋아하는 경우 MicroORM에 관해 많은 이야기가 있습니다. 나는 포인트까지 포인트가있는 링크를 공유 할 수 있습니다 ... – kunjee

+0

비디오 링크가 작동하지 않습니다. :( –

관련 문제