gpt4 book ai didi

c# - ORM 与 NoSQL API 是多余的吗?

转载 作者:IT老高 更新时间:2023-10-28 11:05:55 28 4
gpt4 key购买 nike

使用 MongoDB(我认为其他 NoSQL 数据库 API 值得一试)查询数据库的方式比 SQL 简单得多。无需生成繁琐的 SQL 查询等。例如从 mongodb-csharp 获取这个:

using MongoDB.Driver; 
Mongo db = new Mongo();
db.Connect(); //Connect to localhost on the default port.
Document query = new Document();
query["field1"] = 10;
Document result = db["tests"]["reads"].FindOne(query);
db.Disconnect();

ORM 怎么能简化呢?在体面的 NoSQL API 之上是否需要 ORM 或其他“数据库抽象设备”?

最佳答案

嗯,是的,对象-关系映射器对于 MongoDB 来说是多余的,因为 MongoDB 不是一个关系数据库,它是一个面向文档的数据库。

因此,您可以用 JSON 编写查询,而不是 SQL。除非你真的,真的想要编写原始 JSON,而不是 Linq,那么你仍然会想要使用映射器。如果你不想创建与 MongoDB 本身的耦合,那么你不想传递实际的 Document 对象,你想将它们映射到真正的 POCO。

使用像 MongoDB 这样的面向文档的数据库,映射要更容易,因为你有嵌套的文档而不是关系,但这并不意味着它会完全消失。这只是意味着你用一种“阻抗失配”代替了另一种稍微不那么戏剧性的失配。

关于c# - ORM 与 NoSQL API 是多余的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694044/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com