C# 映射具有两个不同模式的依赖关系的实体';微服务体系结构研究
基于微服务架构,我将这两个方案分为两个不同的数据库,见下文C# 映射具有两个不同模式的依赖关系的实体';微服务体系结构研究,c#,nhibernate,fluent-nhibernate,microservices,C#,Nhibernate,Fluent Nhibernate,Microservices,基于微服务架构,我将这两个方案分为两个不同的数据库,见下文 (VS2015解决方案1,BusinessEntity项目)db1->schema1->客户,供应商 (VS2015解决方案2,BusinessEntity项目)db2->schema2->产品、订单、订单详细信息 C# 现在,我在创建映射实体时遇到了一个问题,我应该如何以及在哪里创建映射实体 我使用“PostgreSQL”作为我的数据库和“Fluent nHibernate” 问题 我应该在哪里拥有这个实体 因为我遵循的是微服务架
- (VS2015解决方案1,BusinessEntity项目)db1->schema1->客户,供应商
- (VS2015解决方案2,BusinessEntity项目)db2->schema2->产品、订单、订单详细信息
谢谢。微服务体系结构的全部要点是在不同的有界上下文中隔离功能。从您的示例中,您得到了两个有界上下文(模式1和模式2)。您不能跨这些域共享域对象。您可以共享Id,但必须返回拥有域对象的微服务来填充它 微服务体系结构的全部要点是在不同的有界上下文中隔离功能。从您的示例中,您得到了两个有界上下文(模式1和模式2)。您不能跨这些域共享域对象。您可以共享Id,但必须返回拥有域对象的微服务来填充它 您可以共享Id,但必须返回拥有域对象的微服务来填充它。这是处理这种情况的唯一方法吗?我的问题是否适用于微服务体系结构或任何(请具体说明)我不了解您的整个领域,因此我无法评论使用微服务的决定是否正确。这里有一个很好的解释和图表。在大多数情况下,我认为每个有界上下文都有一个微服务。你可以共享Id,但你必须返回拥有域对象的微服务来填充它。这是处理这种情况的唯一方法吗?我的问题是否适用于微服务体系结构或任何(请具体说明)我不了解您的整个领域,因此我无法评论使用微服务的决定是否正确。这里有一个很好的解释和图表。在大多数情况下,我的想法是,每一个有边界的上下文都有一个微服务。说这个数据需要一些分析的目的(看到哪个地区/客户年龄购买产品X或是服务客户流量(显示他的购买)?还有一件事要考虑的是用例。说这个数据是需要一些分析的目的(看到哪个地区/客户年龄购买产品X或是服务客户流量)。(显示他的购买)?
public class CustomerOrderMap
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
// (pkey property)
public virtual int Id { get; set; }
// (fk property, this is in db1, schema1)
public virtual int CustomerId { get; set; }
public virtual Customer Customer { get; set; }
// (fk property, this is in db2, schema2)
public virtual int OrderId { get; set; }
public virtual Order Order { get; set; }
}