在API网关中注册DbContext

时间:2019-05-14 18:24:23

标签: c# api entity dbcontext

使用Ocelot我创建了一个API网关。坐在此API网关后面,我还有另外2个微服务,它们需要具有执行简单CRUD事务的能力。这些服务是:

  • Customer.Api
  • Identity.Api

我有一个单独的DAL,其中包含DbContext,实体,存储库和服务。我的计划是将这些数据访问服务的接口注入到Customer.Api或Identity.Api中,以便控制器可以使用它们。

但是,应该将DbContext添加到网关上还是要同时添加到两个服务(客户和身份)中才能使用DAL存储库?

如果需要在每个微服务上添加DbContext,这不算过分吗?

1 个答案:

答案 0 :(得分:1)

在我看来,API网关应该就是...对其他服务的可配置访问点。除了沿着请求/响应进行转发外,对应用程序域的了解实际上没有任何逻辑或理解。

您的服务应实现所需的任何类型的上下文。是的,您可能会觉得将相同的上下文添加到您的应用程序很麻烦。但这将是微服务的美丽……它可以在没有帮助的情况下自行工作。