【问题标题】:Entities relation in Microservices using Entity Framework Core and Migrations使用 Entity Framework Core 和迁移的微服务中的实体关系
【发布时间】:2020-02-03 19:18:17
【问题描述】:

我有两个服务:MatchMakingService 和 UserService。 我有一个使用 .net core 和 Entity Framework Core 的迁移控制台应用程序,它为这两个服务创建了一个数据库模式。

在 UserService 模式中,有一个实体 (UserInformation) 与 MatchMakingService 的实体 (UserGameInformation) 具有一对一的关系。

此代码就像它在应用程序的共享数据库中一样。

public class UserInformation
{
  string id {get; set;}
  string name {get; set;}
  UserGameInformation UserGameInformation {get; set;}
}

public class UserGameInformation
{
  string id {get;set;}
  string name {get;set;}
}

但是,如果我想将其转换为每个服务架构的架构怎么办?我应该使用字符串将 id 引用到不同架构上的实体并在需要时发出请求,还是我可以拥有该实体的外键,如果是这样,是否有迁移不复制每个创建的架构上的表?

我也想知道,设置一个独特的项目来为每个应用程序服务创建迁移并由每个服务上下文单独创建模式是否很好。还是为每个服务使用迁移更好。

【问题讨论】:

    标签: .net database entity-framework migration microservices


    【解决方案1】:

    当两个微服务共享一个数据库并有一些共同的实体时,您应该使用单独的项目来管理迁移(或使用现有数据库优先工作流中的代码优先)。然后每个服务构建它自己的实体子集,但都不负责管理数据库架构。

    【讨论】:

      猜你喜欢
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 2019-01-11
      相关资源
      最近更新 更多