.Net Core 上的 GraphQL、MongoDB - 中间件?

Posted

技术标签:

【中文标题】.Net Core 上的 GraphQL、MongoDB - 中间件?【英文标题】:GraphQL, MongoDB on .Net Core - middleware? 【发布时间】:2020-12-03 11:01:25 【问题描述】:

我正在使用 GraphQL、MongoDB、.Net Core 堆栈设计一个后端应用程序,其中性能必须非常出色。想知道 .net 核心 Mongo 驱动程序是否支持 Linq,我们是否可以跳过使用 Mongoose 或 EFCore 中间层而只在 DB 层之上使用存储库模式?

我们通常是一家 EF 商店,所以熟悉是加分项,但它承载了太多的包袱,而且这个应用程序架构相当简单。我们 80% 的数据库将是“类似 sql 的”,只有 20% 实际上需要 NoSql,但由于云托管成本,我们将使用 Mongo 来处理一切。有人向我推荐了 Mongoose,但我并没有真正看到我在那里获得了什么。

有人用过这个组合吗?任何建议表示赞赏!

【问题讨论】:

这个问题应该早就被关闭了,因为它太宽泛了。如果不了解这里无法讨论的所有细节,就不可能回答这个问题。赏金不会神奇地将问题变成话题,只会鼓励我们在 Stack Overflow 上试图阻止的基于意见的答案。 【参考方案1】:

Mongoose 是不同的堆栈,我猜你基本上打算使用另一个模型来提供对存储在数据库中的数据顶部的抽象。

https://docs.mongodb.com/realm/graphql/ => 看看 GraphQL 是否是您特别需要的,没有任何大的层变化。

在假设.NET 后端和额外的层之间添加一层会额外增加 BTW。 (如果您使用其他技术仅充当抽象层)

【讨论】:

以上是关于.Net Core 上的 GraphQL、MongoDB - 中间件?的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core 3.1 + GraphQL + MongoDB

让ASP.NET Core支持GraphQL - 手写中间件

GraphQL in ASP.NET Core 系列视频 2 - 图论

使用Hot Chocolate创建ASP.NET Core GraphQL服务

[视频]使用ASP.NET Core开发GraphQL服务 - 8.用户验证

GraphQL in ASP.NET Core 系列视频 2 - 查询和修改