【发布时间】:2021-12-08 15:26:00
【问题描述】:
我有以下两个实体使用 EF Core 的拆分表选项引用一个表 - 这个 非常 简化版本:
class Account
int Id
Settings Settings
class Settings
int AccountId (maps to Id)
string PropertyX
如果依赖实体使用的所有列在 数据库,则查询时不会创建它的实例。这 允许对可选的依赖实体进行建模,其中关系 主体上的属性将为空。请注意,这也将 如果依赖项的所有属性都是可选的并设置为 null,这可能不是预期的。
是否可以禁用此行为?我有多个列,其中包含许多默认为 null 的分组行为。
现在默认情况下不会创建实体(设置)。这意味着我必须在任何地方进行空检查。我宁愿为所有属性创建使用空值的设置。
如果我自己在 父实体(帐户)的构造函数中创建实例,则似乎不会跟踪更改,因为我猜 EF Core 不知道该类。
有什么办法吗?
【问题讨论】:
-
在 EFC 3.1 中没有办法。您需要 EFC 5.0+ 才能配置所需的依赖 - docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/… 和 docs.microsoft.com/en-us/ef/core/modeling/…。
-
嗯,这是一个非常快速的答案!如果你把它作为一个答案,我会接受它,希望能帮助其他人!
标签: entity-framework-core ef-core-3.1 table-splitting