问题标签 [graphdiff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

c# - 如何使用 GraphDiff 更新自引用图?

我正在使用GraphDiff更新实体框架图,当我尝试像这样更新自引用图时:

updatedStorageRequest 是包含作为自引用数据的物理对象的模型。

它将仅保留第一个 PhysicalObject 并删除所有 SubPhysicalObjects(updatedStorageRequest 它包含正确的数据,其中包含层次结构中每个级别的 SubPhysicalObjects)。

当有自引用模型时,如何使用 GraphDiff 更新图形?

0 投票
1 回答
33 浏览

c# - 使用 GraphDiff 的条件映射

我在保存一些数据时遇到了 GraphDiff 的问题,我只需要有人来确认这是否可行。

我将提供一个例子来说明正在发生的事情:

首先,我使用的是 VS2017(最新版本)EF 6、Automapper 和 GraphDiff。

我有一个包含以下数据的表。

表数据

如您所见,这列出了 ParcelId 为 5023 的数据,唯一的区别是 IsAcquired 和 IsCurrent 标志。

我不会进入将 IsCurrent 标志设置为 true 的数据更新的代码,因为它非常复杂,但本质上,一个屏幕允许用户输入值,在保存时将第二个列表中的记录从 IsCurrent 设置为 False并插入三个具有新值且 IsCurrent 设置为 True 的新记录。这使我们能够撤消这些记录。

现在,我有不同的屏幕可以让您编辑主要数据,或者换句话说,来自第一个网格的数据。

这是使用 GrphDiff 来更新数据。此编辑不会恢复第二个网格中的数据,但在保存 GraphDiff 操作时会看到数据不同并被覆盖。

我需要它来忽略 IsCurrent 等于 true 的记录,并且只更新 IsAcquired = true 的记录。

我试过了:

但它没有用。

我发现以下内容暗示它无法完成。

研究

0 投票
1 回答
89 浏览

entity-framework - 如何删除孤立记录

我正在尝试使用 GraphDiff 和实体框架来跨多个表更新一组记录。除了我需要删除任何可能已被替换的拥有实体的孤立记录外,一切正常。我缺少什么,因为我希望这种行为很常见,我只需要弄清楚如何适当地配置上下文或图形。这是我的示例代码: