忽略尚未通过EntityTypeConfiguration <>配置的导航属性

时间:2018-11-21 12:12:22

标签: c# entity-framework entity-framework-core ef-core-2.1

我有一个庞大的旧数据模型,该模型由DbContext表示,还有一大堆IEntityTypeConfiguration<>实现,这些实现定义了模型中每个实体的配置。

作为最终拆分数据库的第一步,我们在有限的上下文中划分功能。我们希望仅使用特定任务所需的映射来创建较小的上下文。

例如,可能有一个采购订单实体,例如

{
  Id=0,
  Address = {
     Street = "",
     City = "",
     ... etc ...
  },
  Order = {
  }
} 

然后在仅关注采购订单及其地址的地址范围内,我们创建了一个小的DbContext,仅包含这两个实体的类型配置。但是...失败了:

  

System.InvalidOperationException:'无法确定   导航属性表示的关系   类型为“订单”的“ PurchaseOrder.Order”。手动配置   关系,或使用“ [NotMapped]”忽略此属性   属性或通过使用“ EntityTypeBuilder.Ignore”   “ OnModelCreating”。

我理解投诉,这实际上是有道理的。但我想知道是否有一种方法可以告诉EF Core忽略默认情况下未添加实体类型配置的导航属性,因此我们只能映射所需的现有模型的各个部分,而不必创建特定的实体类型忽略我们要忽略的导航属性的配置。

0 个答案:

没有答案