给定一个具有导航属性的实体,有没有办法判断空导航属性是否是因为子实体从未加载过,而不是已经加载的集合而只是空的?任何方式来判断微风导航属性是否已被加载?
例如:我用一个实体A列表加载页面。每个实体A的导航属性都是实体B的集合。我不需要加载列表的导航属性,因为它可能是一个大的子实体的数量,所以我不选择扩大导航属性。然而,我想然后显示关于单个实体A的'详细信息'页面,其中我想要显示实体B的列表。当加载该页面时,我可以使用fetchByEntityKey
从缓存中获取原始实体A,但是该缓存实体不包含导航属性集合。因此该页面不会显示子属性。有没有办法告诉导航属性从未加载,而不是集合只是空的,所以我可以选择是否刷新导航属性loadNavigationProperty
或其他查询?
可以使用isPartial标志来判断是否实体已经完全加载与否。这是你想要的?在这里检查http://stackoverflow.com/questions/16301734/breeze-ispartial –
isPartial标志是由自定义构造函数添加的自定义属性。我可能会添加类似的东西,但是然后我需要找到一种方法将不同的构造函数附加到不同查询的结果中。不要以为这听起来不错。 – Adam
这不完全正确 - 如果您的构造函数将isPartial设置为false,但是当您执行查询时,根据是否已完全加载它将其设置为true,则应该处理您的情况。在你的逻辑中还有另外一个缺陷 - 如果你创建了一个B类型的对象,然后加载A,那么你有错误的肯定,A的B是加载的 - 如果你使用的是部分 –