问题标签 [object-graph]

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 投票
3 回答
1067 浏览

oop - 对象图和类图有什么区别?

“类图”和“对象图”的含义有区别吗?

0 投票
2 回答
619 浏览

ruby - 来自 ruby​​ 的 Facebook 对象图 https 请求

您将如何向 Facebook 对象图发出请求以获取用户的朋友?

如果您输入网址,它将在浏览器中运行(替换为有效的 user_id 和访问令牌):“https://graph.facebook.com/user_id/friends?access_token=2227470867|2.AQDi3TbqnqrsPa0_.360”

当我使用 Net::HTTP.get_response(URI.parse('url')) 从 ruby​​ 代码中尝试它时,我收到 URI::InvalidURIError 错误消息。

0 投票
1 回答
413 浏览

ios - CoreData 逆向关系是否应该表示为保留属性?

我有两个实体(会话和用户)。会话实体与用户实体有loggedInUser 关系。并且用户实体与会话实体具有会话反向关系。

Xcode 为直接和反向关系生成具有保留属性的属性。从对象图的角度来看可以吗?我的理解是反向关系应该表示为分配属性。

此外,在模式编辑器中,哪个关系是主要关系是不可见的(即,loggedInUser 将 session 作为其逆,而 session 的逆是 loggedInUser)。

也许我错过了什么?

谢谢。

0 投票
2 回答
643 浏览

c# - 序列化 - 从流中查看对象图

我想知道是否有一种方法可以创建序列化对象图的树/视图,以及是否有人有任何指针?编辑的目的是如果我们由于某种原因遇到反序列化问题,我们实际上可以查看/生成关于序列化数据的报告,以帮助我们在必须调试代码之前确定问题的原因。此外,我想在将来扩展它以获取两个流(版本 1、版本 2)并突出显示它们之间的差异,以帮助确保我们不会在代码更改期间意外删除有趣的信息。/编辑

传统上我们使用的是 Soap 或 XML 序列化,但是这些对于我们的需求来说变得过于受限,而二进制序列化通常可以满足我们的所有需求。之所以没有采用,是因为查看序列化内容以帮助修复升级问题等要困难得多。

所以我开始考虑尝试创建一个关于序列化信息的视图。我可以在一定程度上从 ISerializable 构造函数执行此操作:

给定序列化信息,我可以反映 m_data 成员并查看实际的序列化内容。这种方法的问题是

  1. 它只会显示树的一个分支,我想从根显示整个树,从这个位置实际上不可能做到。
  2. 这不是一个查询信息的方便地方,我想将流传递给一个班级并在那里完成工作。

我见过 ObjectManager 类,但这适用于现有的对象图,而我需要能够从数据流中工作。我已经查看了使用 ObjectReader 和 __BinaryParser 的 BinaryFormatted,它连接到 ObjectManager(我认为它将拥有全部内容,只是可能在一个平面列表中),但是要复制它或通过反射调用它(2这 3 个类是内部的)似乎需要做很多工作,所以我想知道是否有更好的方法。

0 投票
2 回答
552 浏览

c# - 在两个对象之间构建导航路径

给定任意对象图中的两个 .NET 对象(根和叶)(由属性和集合链接),是否存在现有 API 或示例来构造路径(类似于 WPF 属性绑定路径或 XML XPath)从一个到另一个?“源”(即想要找出路径的对象)将是叶对象。

还必须支持索引位置。(例如。Foo.Bar[42].Baz["frog"].Quux)。

这主要用于错误报告——我想让对象记录一个错误,显示它们在对象模型中的位置,而不仅仅是它们的类型名称。(这很重要,因为同一类型的对象可能包含在大量其他对象类型中,并且修复任何问题所需的用户操作将根据该位置而有所不同。)

我可以通过为每个对象提供对其父对象的引用并递归地询问每个父对象如何到达子对象来手动滚动一些可以达到目的的东西。但在我这样做之前,我想知道是否有任何现有/更好的解决方案。(如果有人忘记更新父链接,或者一个对象可以通过两条不同的路径到达,这很脆弱,尽管这种情况应该很少见。)

0 投票
1 回答
649 浏览

entity-framework-4 - 使用 EF 4 部分更新实体对象

我正在实现应用程序的 DAL 和 BL 层。它作为 WCF 服务托管,EF 4 用作 ORM。我们有基于角色的安全层和业务规则,只有部分对象可以被某个特定角色更新。

这是问题的简化示例:

我们有这样的 DTO:

这些实体映射到具有相同字段的相应数据库表。

  • MainType 的 ID 字段是 Primary Key;
  • DetailsType 的 MainTypeID 是 MainType 表的外键。
  • DetailsType 的 SomeIdentityID 是对本示例不重要的某个其他实体的 FK。
  • MainTypeID SomeIdentityID 是 DetailsType 表的复杂主键。

我有此类对象的图表(1 个主要和列表详细信息),并确定了执行更新操作的用户的角色。我的任务是:

  • 如果当前用户具有角色 Doctor - 更新 Main 对象和所有 Details 对象中的 Doctor 字段,插入新的详细信息对象。
  • 如果当前用户具有护士角色 - 更新 Main 对象和所有 Details 对象中的 Nurse 字段。
  • 将当前日期保存到更新字段
  • 将当前用户 ID 保存到 LastUpdateBy 字段
  • 不要修改 Created 字段和任何其他未由该角色更新的字段。

因此,例如,如果我有角色为 Doctor 的用户,我应该执行以下操作:

  • 更新 MainObject 中的 DoctorField1、DoctorField2、Updated、LastUpdateBy
  • 在每个详细信息对象中更新 DoctorDetail、Updated、LastUpdateBy
  • 不要修改任何其他字段。

目前我们有实现读取 MainObject 的完整图形,进行必要的修改并保存回 DB。该解决方案运行速度太慢,我需要找到改进它的方法。目前我清楚地知道如何通过 RAW SQL 来做到这一点,但这将是我的解决方案,以防万一没有其他帮助。

我怎样才能让实体框架只更新需要的字段而忽略另一个。

对于字符串字段,我使用 ApplyOriginalValues 和 ApplyCurrentValues 方法获得了一些成功的结果。想法是为两个对象中的属性分配一些虚构的值,例如字符串“@#$%&@#$%&@#$%&@#$%&@#$%&”,然后 EF 将它们视为保存更改期间未修改属性。但是,此技巧不适用于 Boolean、Int32 和 Decimal 值。我应该对所有对象使用一些简单的方法。

我将不胜感激有关此问题的任何想法和想法。

0 投票
1 回答
1274 浏览

c# - NHibernate,分离查询(使用 QueryOver)填充复杂对象

我们使用的数据库不支持查询批处理,因此在这种情况下我们无法使用 NHibernate Futures。我们知道我们仍然可以使用多个查询来填充我们的复杂对象图(以避免笛卡尔积),但是如果我可以重构该方法,则需要建议。

请注意>这里是唯一的开发商,所以寻求建议。

这是一些说明当前方法的示例代码;

您可以从上面的代码中看到,我使用三个单独的查询来填充 FruitBaskets 列表。这种方法是有效的,但我怀疑有一种更好的方法可以将所有子对象加入父对象,而不必每次都从根对象查询。

有没有一种方法可以让我将 where 条件应用于父对象并使用该查询的结果来自动获取所有子对象。请注意,孩子们可以深入 3 个级别,即 FruitBasket.Yoghurt.Flavour.Owners。

任何建议表示赞赏。

C# .NET 4、NHibernate 3.0

0 投票
2 回答
6648 浏览

c# - RESTful 服务中 webHttpBinding 的绑定和配置?

我是 WCF 的新手,我正试图了解服务所采用的迷宫般的配置。我有一个休息服务可以返回一个表的导出,它比默认值大 maxReceivedMessageSize。所以我一直在尝试使用此服务/端点的配置,但我无处可去。下面如果我正在研究的要点,我错过了什么?我只是将 List 作为 JSON 或 XML 返回,并且我需要能够返回超过默认阈值。

更新 1 我已经删除了所有这些配置,并尝试使用现有的 webHttpEndpoint 部分进行更简单的操作:

结果相同。 HTTP/1.1 502 Connection reset by peer

0 投票
1 回答
428 浏览

reflection - 遍历并查找复杂对象图中的所有给定类型实例

(使用 vb.Net 4.0)假设您有一个对象,其图形相当复杂 - 它具有属性、数组和其他集合、具有自己的属性和集合的子类等。我想完全遍历整个对象图并找到所有实例特定类型 T,然后对这些实例执行特定操作。是否有一种防弹的方法来执行对象图的完整遍历?即使有反思,这似乎也是一项容易出错的艰巨任务。

我想知道二进制序列化,因为这似乎以相当健壮的方式克隆了一个对象,无论多么复杂。有什么方法可以修改该技术,而不是将其序列化,而是返回对给定类型 T 的所有子对象的引用列表?但这只是纯粹的猜测,我对任何可行的解决方案持开放态度。

0 投票
1 回答
347 浏览

cocoa - Cocoa – 核心数据对象图

如何处理以下对象的删除?我的删除规则应该是什么样的?

这是我的对象图的样子:

老板

  • Boss-Department 是多对多的关系
  • 如果一个 Boss 被删除,属于该 Boss 的部门不应删除(但部门与该 Boss 的关系应该被删除)

部门

  • 部门-员工具有多对多关系
  • 部门-老板是多对多的关系
  • 如果一个部门被删除,属于该部门的员工如果与任何其他部门没有关系,则应该被删除

员工

  • Employee-Department 是多对多的关系
  • 员工永远不会被直接删除(仅通过删除部门)。哦,幸福的生活!