诸如ORM for Cosmos DB

时间:2018-07-01 15:48:09

标签: .net azure azure-cosmosdb

我正在寻找Cosmos DB的任何ORM。样本中提到的大多数客户端都在需要时创建与表的新连接,即没有连接池策略。似乎总是按照示例中的说明创建新连接是不可扩展的。如果我错了,请纠正我。还有没有人有连接池附带的任何优秀的ORM解决方案

3 个答案:

答案 0 :(得分:6)

Cosmonaut正是您想要的。

这是一个简单而简约的对象映射器,它创建了对象与对象之间的关系。您可以使用POCO对象并执行所有CRUD操作。

它支持集合共享,以减少在一个集合中同时包含多个对象的成本。

详细了解宇航员here

免责声明,我是宇航员的创造者。

答案 1 :(得分:3)

Cosmos DB现在支持实体框架(announcement)(尽管此时处于预览状态);但效果很好。

p.s。友好的第三方guide,以及有关如何进行设置的更多详细信息:

但是,您应该真正考虑是否需要EF(ORM)。如果要将数据库切换到CosmosDB,这可能很有用;并且不想立即更改您的EF代码;注意尽管在任何情况下切换数据库都需要在EF-front上进行;如果切换数据库类型,则更是如此:与NoSQL相关。

EF执行ORM(对象到数据库的映射);但是NoSQL已经具有对象映射,因此实际上并不需要EF(实际上不必要地使事情复杂化。

Microsoft很好地撰写了有关以下主题的文章:https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/microservice-ddd-cqrs-patterns/nosql-database-persistence-infrastructure

答案 2 :(得分:0)

对于CosmosDB,没有可用的推荐ORM框架,您可以尝试的ORM库很少,

(i) Cosmonaut

(ii)CosmicGraph