我正在密切關注John Papa關於Angular和Breeze的pluralsight課程。我也用實體框架6.BreezeJs本地查詢返回實體和空實體
在加載時,我稱之爲清除高速緩存中的首要功能:
function clearCache() {
var cachedParents = manager.getEntities('Parent'); // all invoices in cache
cachedParents.forEach(function (parent) { manager.detachEntity(parent); });
zStorage.clear();
manager.clear();
}
,然後加載信息:
return EntityQuery.from('Parents')
.where('applicationUser.email', '==', userId)
.expand('Address, Children')
.toType(entityParent)
.using(self.manager)
.execute()
.then(querySucceeded, self._queryFailed);
調用控制器與
[HttpGet]
public IQueryable<Parent> Parents()
{
return _repository.Parents;
}
返回一個記錄...
後來,在視圖上的負載,在同一個存儲庫中,我要求父實體從本地緩存如下:
var cachedParents = EntityQuery.from('Parent')
.toType(entityParent)
.using(self.manager)
.executeLocally();
這一個帶來了兩個實體,正確的有編號,名稱,地址等,但也帶來了Id爲0的空實體。
我已經檢查過,即使在遠程查詢後立即調用本地查詢,它仍然會帶來正確的記錄和空記錄。
我也審查了響應和json對象來正確格式化,只有一個記錄。
我試過清理zstorage,實體管理器,對象的分離,但似乎沒有解釋或清除空實體。
此行爲只發生在父實體類型中。沒有其他類型顯示任何錯誤。
在此先感謝。