0

我应该将 virtual 关键字添加到我的主键属性中吗?

在阅读了延迟加载、更改跟踪和虚拟关键字之后,我意识到我几乎应该将所有属性都标记为虚拟。不过,我不太确定我的 ID 属性,因为加载没有 ID 的实体是没有意义的,它只会用于更有效的更改跟踪。

4

1 回答 1

1

您想要更改跟踪代理吗?如果是这样,您的所有属性都必须有 virtual 关键字。

  • 类必须是公开的而不是密封的。
  • 所有属性都必须具有公共/受保护的虚拟 getter 和 setter。
  • 集合导航属性必须声明为 ICollection。它们不能是 IList、List、HashSet 等。

请参阅EF 团队成员的这篇博文

于 2012-09-18T13:37:34.223 回答