基于微服务架构,我将这两种方案分为两个不同的数据库,见下文,
C# 现在我在创建映射实体时遇到了问题,我应该如何以及在何处创建映射实体。
我正在使用" PostgreSQL"作为我的DB和" Fluent nHibernate"
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; }
}
问题
任何例子都会受到赞赏!!
感谢。
答案 0 :(得分:0)
微服务架构的重点是在单独的不同有界上下文中隔离功能。从您的示例中,您有2个有界上下文(架构1和架构2)。您不会跨这些域共享域对象。您可以共享Id,但是您将不得不返回拥有域对象的微服务来填充它。