将 Blazor 和 Web API 与实体框架结合在同一项目中

问题描述 投票:0回答:1

我有一个 Web API 项目 (dotnet8),它托管一些 API 端点。这些端点使用包含所有业务逻辑的服务,其中服务使用 EF 的

DbContext
与数据库进行通信。

现在我想向应用程序添加 Blazor(服务器)前端,以包含一个简单的 GUI。所有教程都提到,在使用 Blazor 服务器时,应该以其他方式使用 EF 以防止内存泄漏和奇怪的数据库行为。建议将 EF 与

DbContext
工厂一起使用,并在每次需要时实例化
DbContext
。这都是因为范围在 Blazor 电路中与在 http 管道中意味着不同的东西。

这一切对我来说似乎非常合乎逻辑,但我似乎仍然无法推理如何使用混合解决方案来解决这个问题;

DbContext
用于 Web API(请求范围)和 Blazor 组件(电路范围)的服务时,我应该如何使用/配置实体框架?

entity-framework blazor blazor-server-side
1个回答
0
投票

您的数据管道应该与前端无关。 在您的情况下,您有一个 WebUI 前端和一个 API 前端。 您还应该有一个测试前端来测试数据管道。

提供如何做到这一点的演示远远超出了 SO 答案的范围,因此我将向您指出我的一些个人资源,这些资源演示了如何构建这样的数据管道和前端解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.