我在这里阅读有关拥有的实体类型https://docs.microsoft.com/en-us/ef/core/modeling/owned-entities#feedback,我想知道何时会使用它。特别是在使用.ToTable();
时虽然我不确定ToTable是否与键创建了关系。
我阅读了整篇文章,因此我理解它实际上会强制您通过导航属性访问数据,并防止将拥有的表视为实体。他们还说不需要Include()
,并且数据随着父表的每个查询而下降,因此它不像你减少了返回的数据量。
那么究竟是什么意思呢?还有什么是"表分裂"?
答案 0 :(得分:1)
它取代了复杂类型,可以选择将其设置为1-1关系/ w ToTable,同时自动加载。这将在两个表中使用相同的PK,与1-1相同。
点表拆分将是您想要一个规范化的对象模型,而表格结构则不是。这适用于您具有现有表结构并希望将该数据的相关部分拆分为与主实体关联的子实体的情况。使用ToTable选项,它将类似于1-1关系,但会自动加载。然而,当考虑使用1-1关系的原因时,我会认为这个选项是一个糟糕的选择。
在正常的1-1关系中使用它的常见原因包括:
在这两种情况下,我都不想使用表拆分或任何自动加载的东西,因此Owned Types / w ToTable不会在任何范围内替换1-1关系。它本质上是复杂类型的更严格版本,我认为它严格用于实体组织。不是我承认想要经常使用的东西。