2014-04-17 4 views
4

그래서 새로운 응용 프로그램에서 SQL Server 대신 mongodb를 사용하기 시작했습니다. SQL 서버를 사용하는 동안 엔티티 프레임 워크 나 DevExpress XPO와 같은 ORM 레이어가있는 동안 좋은 일 중 하나가되었습니다. mongo에 대한 NoRM에 대해 들어 봤지만 GitHUB 사이트를 살펴 봤는데 더 이상 유지 관리되지 않는다고합니다. 그래서 누군가가 현재 유지 관리되는 ORM/ODM 형식 솔루션을 알고 있는지 궁금 해서요. C# .NET 응용 프로그램과 함께 사용하여 내 모델 클래스 상호 작용을 지속성 계층과 캡슐화 할 수있었습니다.mongodb orm/odm in .net?

+0

https://github.com/RobThree/MongoRepository – Soren

답변

3

Mongo를 SQL과 같은 방식으로 생각하는 것은 실수입니다. Mongo를 C# 모델을 유지하는 방법으로 생각하십시오. Construct => Save-> 표시해야하는 모든 데이터를 가져 와서 모델로 가져와야합니다. 그런 다음 collection.FindAs<ModelType>(SomeQuery)을 사용하여 데이터베이스에서 가져 오십시오.

+0

SQL을 생각해 보겠습니다. –

+0

그럼, MongoDB와 ORM 도구 사용을 고려하지 말 것을 제안 하시겠습니까? 이것은 응용 프로그램이 이미 모델을 보유하고 있기 때문에 몽고가 ORM없이 직접 유지/가져올 수 있기 때문입니까? –

+0

맞습니다. 우리에게는 응용 프로그램에 도메인 계층을 사용합니다. 도메인 모델을 제외한 다른 레이어에는 모델을 사용할 수 없습니다. 따라서 웹 레이어 메서드가 일부 영구 데이터를 필요로하는 경우 도메인 엔터티를 통해 가져옵니다. 우리는 mongo를 사용할 때 도메인 엔티티 당 Mongo Repo를 보유합니다. Mongo C# 드라이버를 사용하여 도메인 모델을 직렬화 및 역 직렬화하면 다른 중간 계층은 필요하지 않습니다. 나는 기본적으로 Mongo에서 얼어 버린 모델이라고 생각합니다. 이 작업은 규모면에서 매우 효과적입니다. 나중에 저장해야하는 내용을 저장 한 다음 나중에 넣으면됩니다. – user2391759