我目前正在开发一个代码库,我想向其中添加大量具有相应拥有实体的新实体。因为在代码库的其他部分中,我将不涉及UseLazyLoadingProxies
的调用;我收到以下异常:
System.InvalidOperationException:实体类型“ FooOwner”上的导航属性“ Foo”不是虚拟的。 UseLazyLoadingProxies要求所有实体类型都是公共的,未密封的,具有虚拟导航属性以及公共或受保护的构造函数。
如果我将该属性标记为虚拟,则所拥有的实体将进入新表;我也不想要。
根据我遇到的github问题,这似乎是预期的行为。
我的问题是:有没有一种方法可以解决此问题,因此,我可以以某种方式将拥有实体标记为与拥有者实体存储在同一表中,并且如果可能的话,始终将其标记为{{1} } d,热切地加载。
Include
答案 0 :(得分:1)
您应该使用OwnsOne
而不是HasOne