gpt4 book ai didi

entity-framework - 为什么导航属性必须公开才能创建代理?

转载 作者:行者123 更新时间:2023-12-04 09:00:02 28 4
gpt4 key购买 nike

http://msdn.microsoft.com/en-us/library/dd468057.aspx我了解到,我希望为其设置更改跟踪代理的所有导航属性都必须是 publicvirtual。据我了解,CLR 动态创建我的 POCO 的子类,并重新实现属性以提供请求的行为。

为此,我理解该属性需要是虚拟,并且它应该具有protected 或更高的可访问性。但是,如果我想在程序集内方便地使用它们,但又不想公开它们,我希望它们不要是 public。这引出了两个问题。

  1. (为了我对发生的事情的理解)为什么运行时要求属性是public 而不是protectedinternal?

  2. (针对我的实际情况)是否有任何解决方法来隐藏导航属性,但仍然具有更改跟踪行为?

最佳答案

属性必须是公共(public)的(和虚拟的)或 protected (和虚拟的)代理才能工作。

代理未在您的程序集中预先定义,因此内部将不起作用。

Private 出于显而易见的原因(代理继承自您的类)将无法工作。

关于entity-framework - 为什么导航属性必须公开才能创建代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11082766/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com