有什么方法可以判断是否已经加载了微风导航属性?

时间:2013-07-22 22:25:59

标签: breeze

给定一个具有导航属性的实体,是否有办法判断空导航属性是否因为从未加载过子实体,而不是已加载的集合而只是为空?

例如:我加载一个包含实体A列表的页面。每个实体A都有一个导航属性,它是实体B的集合。我不需要为列表加载导航属性,因为它可能是大量的子实体,所以我不选择扩展导航属性。但是,我想展示一个细节'关于单个实体A的页面,我想要显示实体B的列表。当加载该页面时,我可以使用fetchByEntityKey从缓存中获取原始实体A,但该缓存实体不包括导航属性集合。因此页面不会显示子属性。有没有办法告诉导航属性从未加载过,而不是只是空集合,所以我可以选择是用loadNavigationProperty还是其他查询刷新导航属性?

2 个答案:

答案 0 :(得分:3)

从Breeze 1.4.16开始,添加了两个新方法: EntityAspect.isNavigationPropertyLoaded EntityAspect.markNavigationPropertyLoaded。这些都记录在breeze api文档中。您正在寻找的具体方法在此处记录:

http://www.breezejs.com/sites/all/apidocs/classes/EntityAspect.html#method_isNavigationPropertyLoaded

答案 1 :(得分:0)

这是一个很好的问题!这是我们列表中的必需功能,它应该在下一个或两个版本中进入产品。