我将客户数据存储在两个不同的数据库中。记录保持同步并共享多个字段(例如 CustomerId、CustomerName 等)。但他们也都有自己独特的领域......例如:
数据库1 客户
CustomerId
CustomerName
Field1
Field2
Database2 客户
CustomerId
CustomerName
DifferentField1
DifferntField2
每个数据库都有自己的 dbContext,我可以独立地从中提取每个 Customer 对象。但我真正想要的是使用单个 dbContext 将所有字段拉入统一的客户对象中,该对象包括两个数据库中所有字段的联合。这甚至是可能的还是可取的?
我的上下文中的其余对象是使用 DbSets 自动连接起来的,并为每个实体指定一个映射,如下所示:
public DbSet<Customer> Customers { get; set; }
然后我的映射类具有典型的映射信息:
this.ToTable("Customer");
this.HasKey(t => t.CustomerId);
this.Property(t => t.CustomerName);
this.Property(t => t.Field1);
etc.
所以我想知道是否有一种方法可以使用多个表/数据库构建此逻辑,并且不仅能够执行选择,而且能够执行所有必要的 CRUD 操作。这甚至可以通过覆盖默认行为来实现吗?还是我对解决问题的方式不满意?
谢谢