微风:getEntityGraph 中出现意外错误

2023-12-21

我使用 getEntityGraph 扩展,它工作正常,但在以下情况除外:

  1. 添加新实体
  2. 不要保存它并在实体上调用 setDeleted
  3. 通过将实体和 np 集合作为参数传递来调用 getEntityGraph

当调用 makePathSegmentFn 时,它会在这一行崩溃:

 grps.forEach(function(grp) {
     vals = vals.concat(grp._entities.filter(function (en) {
       return en.getProperty(fkName) === keyValue;         
   }));
 });

en为 null,因此会引发异常。我通过检查 en 是否为空来解决这个问题,并且每个似乎都工作正常。但如果这是一个错误,也许应该在原始代码中完成?请注意,np 集合中的所有实体中只有一个实体为 null。我猜那是被删除的,但不能确定。


2014 年 4 月 29 日更新

好吧...我现在明白了。你说的是删除的child实体,而非独立的root entity.

感谢您发现此错误。我向 DocCode 添加了针对此场景的测试,然后修复了该错误。这两项更改都已推送到 github。它们将出现在下一个正式版本中。你可以获取当前getEntityGraph.js来自 github https://github.com/Breeze/breeze.js.labs/blob/master/breeze.getEntityGraph.js现在。

原答案

我无法重复您所描述的特定失败......因为getEntityGraph在到达之前很久就抛出makePathSegmentFn ... 正如它应该做的那样!

getEntityGraph应该抛出异常(例如,“'getEntityGraph' root[0] 是一个独立的实体") when any传入的根实体是“分离的”。

当您创建一个新实体并立即删除它(无需先保存)时,其状态将从“已添加”更改为“已分离”;它不再是缓存中的实体。这是预期的行为(请参阅“实体内部”文档主题 http://www.breezejs.com/documentation/inside-entity)。这就是当我完全按照你的重现步骤操作时会发生的情况。

请提供一个 jsFiddle 或 plunker 来演示该错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微风:getEntityGraph 中出现意外错误 的相关文章

随机推荐

  • @XmlRootElement 和 抛出 IllegalAnnotationExceptions

    当我编组此类的实例时 XmlRootElement public static class TestSomething
  • AWS DynamoDB 始终面向互联网

    Question 试图找到一种将 DynamoDB 放入 VPC 中的方法 但目前尚未找到 对于 Lambda 它可以位于具有来自 VPC 子网的 IP 的 ENI 的 VPC 内 然后 Lambda 在没有 NAT 的情况下没有任何互联网
  • NEAT:指定

    我试图自己使用原始论文来实现整洁 但被卡住了 假设在上一代我有以下物种 Specie 1 members 100 avg score 100 Specie 2 members 150 avg score 120 Specie 3 membe
  • 装饰器不支持函数调用,但调用了“FileTypeModule”

    尝试设置ngx formly material 文件 https github com alEX860111 ngx formly material file 但我得到一个错误 装饰器不支持函数调用 但调用了 FileTypeModule
  • Android的RelativeLayout似乎坏了

    我正在开发一个布局 其中使用带有RelativeLayout 行项目的ListView 行项目本身无法正确显示 问题是 txtVideoDuration TextView 绘制在行项目的顶部而不是底部 因此 txtVideoTitle 的高
  • 我什么时候应该使用 C# 的 LINQ? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在学习 C 我发现 LINQ 非常有趣 然而 令我困惑的是 我想不出使用 LINQ 会有巨大帮助的场景 因为在代码中复制 LINQ 功能实际
  • 在 ruby​​ 中杀死一个名为 using open3 的进程

    我正在使用命令行程序 它的工作原理如下 ROUTE TO FOLDER app lt long text If 长文本 使用参数编写 app 需要 那么它将用结果填充一个文本文件 如果没有 它将连续用点填充文本文件 我无法处理或修改 app
  • 使用 jQuery 检测字体大小(以像素为单位)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 如何使用
  • 查找 gitignore 文件和导致文件被 git 忽略的行[重复]

    这个问题在这里已经有答案了 如何找到导致文件被 git 忽略的 gitignore 文件和行 从存储库根目录尝试以下操作 find gitignore git info exclude name gitignore exec cat les
  • 找不到酶适配器反应16的声明文件?

    一段时间以来 我一直在使用 Enzyme 来测试 React 应用程序中的组件 几周内第一次更新我的软件包后 我开始从测试中收到错误 FAIL src tests title test ts Testing title component
  • ndim 在 numpy 中的工作

    import numpy as np gt gt gt a np array 1 2 3 4 gt gt gt a array 1 2 3 4 gt gt gt a ndim 1 维度如何为 1 我给出了一个包含 3 个变量的方程 这意味着
  • 清除表单字段并将详细信息保存在 Angular JS 中

    我使用 Angular js 创建了一个简单的表单 当用户输入详细信息并提交时 这些值将保存在控制台中 但即使单击提交按钮后 这些值仍保留在字段中 我现在想在控制台中保存各个字段的详细信息 并且需要在单击提交按钮后清除字段 以便可以输入下一
  • Backbone.js 不会发出跨主机请求?

    我一直在 Chrome 控制台中使用 Backbone 并遇到了我无法解决的跨域问题 我连接的主机可能正确实现了 CORS 因为原始 XHR 请求返回了预期的 JSON var http new XMLHttpRequest http op
  • 在react中调用onchange事件中的两个函数

    我正在尝试使用 onChange 事件调用两个函数 以在反应中动态搜索功能 在第一个函数中 我设置一个值的状态 在第二个函数中 我必须调用该值并执行该函数 我无法同时调用两个函数 我不会使用此示例代码添加模拟 JSON handleChan
  • 获取 API 产生“TypeError:无法获取”

    我在 Chrome 上 看到这个奇怪的错误 TypeError failed to fetch 是的 这就是整个错误消息 这是生成错误的代码 fetch logoUrl method put headers Content Type ima
  • SQL Access 2010 按日期查询“条件表达式中的数据类型不匹配”。

    我尝试在 Access 2010 中进行查询 但它不断向我显示此错误 条件表达式中的数据类型不匹配 查询很简单 SELECT FROM mytable WHERE date 23 07 2013 想知道为什么吗 SELECT FROM my
  • 创建双镜像三角形

    我需要帮助制作这样的镜像三角形 我可以单独获得每一项 但无法将它们组合起来 public static void main String args for int i 1 i lt 5 i for int j 0 j lt i j Syst
  • 从字符串中删除所有非小写字符

    我明白给定一个字符串 str str replace s g 将删除字符串中的所有空格 如何从字符串中删除所有非小写字母的字符 你可以 str replace a z g
  • Scala - 大小写匹配部分字符串

    我有以下内容 serv match case chat gt Chat Server Relay Message serv case gt null 问题是有时我还会在 serv 字符串末尾传递一个附加参数 因此 var serv chat
  • 微风:getEntityGraph 中出现意外错误

    我使用 getEntityGraph 扩展 它工作正常 但在以下情况除外 添加新实体 不要保存它并在实体上调用 setDeleted 通过将实体和 np 集合作为参数传递来调用 getEntityGraph 当调用 makePathSegm