【发布时间】:2020-02-17 20:01:42
【问题描述】:
我缺少一个链接来了解在以下情况下如何将我的 EF 核心的 DbContext“连接”到不同的应用程序:
我有一个应用程序项目,其中包含整个 EF Core Code first 数据模型(实体、业务逻辑、枚举等)。
到目前为止,我们一直在使用 WebAPI 应用程序与多个端点共享数据。 所以我们现在交换的数据目前是相当静态的。我们创建了 DbContext,API 使用它进行数据读取和写入操作。
现在有客户要求也构建 WebUI (Blazor)。所以我们仍然希望在 UI 中使用 WebAPI 进行数据交换,但进一步我们需要来自数据模型的更多业务逻辑元素(包含 INotifyPropertyChanged 事件处理等)。我们在实体类中实现了事件句柄。因此,我们打算为每个包含 DbContext 实例的用户/客户端构建一个会话对象。但是如何将实例化的 DbContext 从 Web API 移交给我的 UI 应用程序。
很高兴能得到一些意见。感谢您的任何建议。
【问题讨论】:
-
由于缓存问题,我每次需要时都重新创建 DBContext,因此无需移交给 UI。只需在 UI 中打开另一个 DBContext 实例。此外,在会话对象中保存 DBContext 也不起作用,因为 Context 的缓存不会被更新。
标签: dbcontext blazor ef-core-3.1 webui