2011-12-18 1 views
2

DDD (C# 사용)를 사용하여 첫 번째 프로젝트를 시작하고 있으며이 단계에서 MongoDB 또는 CustDB (Entity 프레임 워크와 같은 ORM은 우리가 원하는 것에 대한 지나친 과잉으로 보임) 이 단계에서는 MongoDB 나 CouchDB에서 거의 경험이 없다고 말합니다.Mongodb/Couchdb로 내 DDD 엔티티를 만드는 방법은 무엇입니까?

내 도메인을 만들면서 관계형 데이터베이스 세계에서 오는 내 개체에 대해 내 ID로 GUID를 사용하는 것에 대해 생각했지만 여전히 문제가 발생하지 않았습니다.

이 경로를 따라하면 내 영속성 계층 (mongoDB/CouchDB)에 쉽게 플러그인 할 수 있거나 내 도메인 모델을 변경해야합니다 (현재 내 엔티티 개체의 생성자는 문자열 ID가 매개 변수로 사용됩니다 (GUID ID가됩니다)).

JD MongoDB를 가진

답변

2

당신은 probbly 그들이 DB의 문서가 될 것입니다 이후 집계 뿌리, ID를 필요로한다는 것을 의미 집계 루트 당 콜렉션을 갖고 싶어. 도메인 모델을 MongoDB 특정 코드로부터 자유롭게하고 싶다면, 그 id는 문자열 일 수 있습니다.

생성자 인수에 ID를 포함하지 않을 것입니다. 나는 그것들이 쓰기 가능한 속성이되게 할 것입니다. ORM에서와 마찬가지로 저장소를 통해 엔티티를 읽고 저장하는 것을 고려할 것입니다. 그리고 거기에 MongoDB 코드를 보관하십시오.

+0

감사합니다. 저는 여전히 DDD에 익숙하지 않습니다. 그리고 나는 당신이 쓰기 가능한 속성을 가져서는 안된다는 것을 읽었던 것을 기억합니다 (나는 틀릴 수도 있습니다). 따라서 mongoDB를 사용하면 문서를 가져 와서 구문 분석하거나 자동으로 도메인 집계를 채울 수 있습니까? –

+0

공식 mongo C# 드라이버는 엔티티를 채울 수 있습니다. –

관련 문제