通過與jaydata一起工作,我將實體添加到深度嵌套實體對象的樹結構中。Jaydata saveChanges()統計跟蹤/更改的實體,但不會發送批量請求(使用OData v4 Provider和Web Api)
我將上層實體附加到上下文並編輯/添加/刪除相關的子實體。最後,我使用saveChanges()和promise。
傳遞給承諾的計數值告訴所有更改的實體已被正確計數,但saveChanges()未執行批處理請求並持續這些實體。
所以感覺沒有其他事情發生,但計數實體。
我發表了一個小例子。我很肯定,這些實體的參考設置是正確的。 (使用jaydata,odata v4,web api和angularjs)
是否有人與jaydata有這個問題,並找到原因?
感謝您的幫助。 =)
問候保羅
// Attach upper entity
DataService.jaydata.attach(viewModel.currentSkillTree.entity);
// Generating new entities
var newSkill = new DataService.jaydata.Skills.elementType({
Id: undefined,
Name: 'New skill',
Levels: [],
IconId: 47,
SkillTreeUsage: []
});
var newSkillLevel = new DataService.jaydata.SkillLevels.elementType({
Id: undefined,
ShortTitle: 'New level',
Skill: newSkill,
SkillId: undefined,
Level: 1,
RequirementSets: []
});
var newRequirementSet = new DataService.jaydata.RequirementSets.elementType({
Id: undefined,
SkillLevel: newSkillLevel,
SkillLevelId: undefined,
SkillTree: undefined,
SkillTreeId: viewModel.currentSkillTree.entity.Id,
});
var newSkillTreeElement = new DataService.jaydata.SkillTreeElements.elementType({
Id: undefined,
SkillTree: undefined,
SkillTreeId: viewModel.currentSkillTree.entity.Id,
Skill: newSkill,
SkillId: undefined,
Position: { X: x, Y: y }
});
// Completing object-references
viewModel.currentSkillTree.entity.Elements.push(newSkillTreeElement);
newSkill.Levels.push(newSkillLevel);
newSkill.SkillTreeUsage.push(newSkillTreeElement)
newSkillLevel.RequirementSets.push(newRequirementSet);
// Saving
DataService.jaydata.saveChanges()
.then(function (cnt) {
console.log('Saved entities:', cnt);
// The cnt-result in console is 4
// But no request was executed, nothing was saved
}, function (exception) {
console.log(exception); // Also no exception was thrown
});
在其生命週期結束時是否有人或jaydata?對於大家試驗jaydata:我不推薦使用它。文檔很爛,太小,不完整,jaydata的版本越高,文檔變得越陳舊。我不是在說謊,我是這樣說的。沒有人會爲此感到負責,而且已知的錯誤仍然保持開放狀態,並且不會在多年內得到修復。 –
大拇指朝下,完全。不要使用jaydata! 更好地被警告,並提防你的業障。使用jaydata會破壞它。(在過時的帖子和腳本中被丟失了幾個星期和幾個月,當它變得複雜和棘手時仍然沒有找到解決方案) 對於jaydata的開發者:停止開發。醒來,從網上拿下來。你只是不斷浪費人們的時間。你無法處理,你無法負擔得起服務一個出色的開源庫再花費什麼。沒有人應該進入你的快速和骯髒的陷阱。 **憤怒** –