通过与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的开发者:停止开发。醒来,从网上拿下来。你只是不断浪费人们的时间。你无法处理,你无法负担得起服务一个出色的开源库再花费什么。没有人应该进入你的快速和肮脏的陷阱。 **愤怒** –