在http://msdn.microsoft.com/en-us/library/dd468057.aspx我读到我想要更改跟踪代理的所有导航属性都必须是public
和virtual
. 据我了解,CLR 动态创建我的 POCO 的子类,并重新实现属性以提供请求的行为。
为此,我理解该属性需要是virtual
,并且它应该具有protected
或更高的可访问性。但是,如果我想在程序集中使用这些方便,但又不想暴露它们,我不希望它们是public
. 这让我想到了两个问题。
(为了我对正在发生的事情的理解)为什么运行时需要属性
public
而不是protected
orinternal
?(针对我的实际情况)是否有任何解决方法可以隐藏导航属性,但仍然具有更改跟踪行为?