问题标签 [entityreference]

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 投票
2 回答
137 浏览

.net - EntityRef 添加不需要的记录

我有一个BookOrder对象有一个EntityRefvarBook对象。这些对象通过书籍 ID 链接。插入新BookOrder记录时,新Book记录也会插入到book表中。我该如何停止这个,只插入BookOrder记录?提前致谢。

0 投票
1 回答
46231 浏览

plugins - 使用 DynamicsCRM 中的插件获取 EntityReference 的 GUID

这个问题与我现在为 Dynamics CRM 2011 创建的插件有关。

我有一个具有 5 个属性的实体。这些属性中的 1 个是对另一个实体的查找。

我试图用我的插件做的是检索查找实体的 Guid。很简单,对吧?

但是不,这给我带来了麻烦,我已经尝试了几十种使用 EntityReference 获取 guid 的方法但不能。我尝试创建一个也失败的 preImage。

这是代码的片段。

也想出了这个

我不断收到此错误

0 投票
1 回答
14387 浏览

c# - 实体框架 - 插入具有多个模型和数据库的实体

我将我的域拆分为多个实体框架模型。我有一些跨越多个模型的共享实体(名为 Lookup),但是,这些实体被使用在实体框架中处理大型模型中描述的方法替换为“使用”引用。但是,使我的案例更加独特的是,我还将这些模型分成多个数据库(每个模型一个)。

我在将我的一个共享实体插入我的公共数据库时遇到问题。它因错误而失败:

元数据集合中不存在身份为“Harmony.Members.FK_ResidentialAddress_ResidenceTypeLookup”的成员。

它所指的外键在“公共数据库”上不存在。但我也没有与关系另一端的实体(名为 ResidentialAddress)合作;我什至没有包含已初始化的其他实体(名为 MembersDb)的上下文。但是,两个模型都编译到同一个程序集中。

没有Lookup 到 ResidentialAddress 的导航属性。虽然在另一个方向有一个导航属性(我不会坚持 - 只在内存中使用)。

MetadataWorkspaceCommonDb 上下文的MyEntityConnection仅使用 SSDL/CSDL/MSL 显式初始化,用于该数据库所需的数据。我已经确认没有引用该组模式数据中提到的外键。

可能的线索:当我进入生成的类并从相关模型(MembersDb)中删除所有EdmRelationshipAttribute属性及其配对时,它确实有效。EdmRelationshipNavigationPropertyAttribute

关键问题:

  1. 那么,为什么实体框架试图对既不在范围内也不会受到插入记录影响的实体的关系做一些事情!?

  2. 我很高兴生成的代码删除了上面提到的属性,但我仍然希望保留导航属性。我将如何改变 CSDL 以实现这一目标?

注意:“子”模型的持久性不是优先事项,它们现在跨数据库外键的完整性也不是优先事项。这些数据库使用 SQL CE 进行持久化,但它们最初是从单个主 SQL Server 数据库生成的。

0 投票
2 回答
87145 浏览

java - 如何在 XML 属性值中包含 &、<、> 等

我想创建一个 XML 文件,用于存储 Java 程序的结构。我能够成功解析 Java 程序并根据需要创建标签。当我尝试在我的标签中包含源代码时出现问题,因为 Java 源代码可能使用大量实体引用和保留字符,如&, <, >, &。我无法创建有效的 XML。

我的 XML 应该是这样的:

像这样,但问题是条件表达式if或其他语句中有很多&或其他保留符号,这会阻止 XML 得到验证。由于所有这些数据(源代码)都是由用户提供的,因此我几乎无法控制它。就时间而言,逃离角色将是非常昂贵的。

我可以使用 CDATA 来转义元素文本,但它不能用于包含条件表达式的属性值。我正在使用Antlr Java 语法来解析 Java 程序并获取标签的属性和内容。那么还有其他解决方法吗?

0 投票
0 回答
302 浏览

entityreference - LINQ 更新后没有刷新 EntityRef 对象?

如果有 2 个实体类 ProductEntity 和 CategoryEntity:

使用 LINQ 我执行 Select 如下(省略详细信息):

列表中第一条记录的获得值为

然后我将 CategoryID 更新为 8 OK,到目前为止一切顺利

我重新执行上面的选择。第一条记录的获得值现在是

ProductEntity 的 CategoryID-property 已更新,但 Category-property 未更新,换句话说,EntityRef 对象尚未“重建”???

为什么不?我怎样才能使这项工作?

谢谢克里斯

0 投票
1 回答
375 浏览

where - Dynamics CRM 2011 过滤从 Web 服务返回的数据

我试图通过 EntityReference 过滤数据,但没有运气。如果没有 where 子句,它在 where 子句中运行良好,我收到以下错误:

服务器没有提供有意义的回复;这可能是由于合同不匹配、会话过早关闭或内部服务器错误造成的。

这是我调用 CRMService 的方法:

我也尝试过使用 SubCategory.Name 但它给出了同样的错误。我认为这与它使用早期绑定或类似的东西有关,但在调试时我无法获得任何有用的信息。

任何建议或帮助都会很棒,这应该很容易:/

0 投票
1 回答
36408 浏览

xml - 哪些是 HTML 和 XML 特殊字符?

HTML 和 XML 中的特殊保留字符实体是什么?

我所掌握的信息是:

HTML:

  • & (替换为&amp;
  • < (替换为&lt;
  • > (替换为&gt;
  • " (替换为&quot;
  • ' (替换为&apos;

XML:

  • < (替换为&lt;
  • > (替换为&gt;
  • & (替换为&amp;
  • ' (替换为&apos;
  • " (替换为&quot;

但我找不到关于其中任何一个的文档。

W3C 在可扩展标记语言 (XML) 1.0(第五版)中确实提到了某些预定义的实体引用。但它说这些实体是预定义的(以与预定义相同的方式&copy;);并不是说他们必须逃脱:

4.6 预定义实体

[定义:实体和字符引用都可以用来 转义左尖括号、& 和其他分隔符。为此目的指定了一组通用实体(amp、lt、gt、apos、quot)。也可以使用数字字符引用;它们在识别时立即展开并且必须被视为字符数据,因此数字字符引用“ < ”和“ & ”可用于转义 < 和 & 当它们出现在字符数据中时。]

哪些字符必须转义到HTML中的实体引用中?哪些字符必须转义到XML中的实体引用中?


更新

来自可扩展标记语言 (XML) 1.0(第五版)

2.4 字符数据和标记

& 符号 ( &) 和左尖括号 ( <)不得 以其文字形式出现,除非用作标记分隔符,或者在注释、处理指令或 CDATA 部分中。如果在其他地方需要它们,它们必须分别使用数字字符引用或字符串“ &amp;”和“ &lt;”进行转义。

右尖括号 ( >) 可以使用字符串 " &gt;" 表示,并且为了兼容性,当它出现在内容中的字符串 " " 中时,必须使用 " &gt;" 或字符引用进行转义]]>,当该字符串未标记结束时的 CDATA 部分。

为了允许属性值包含单引号和双引号,撇号或单引号字符 ( ') 可以表示为 " &apos;",双引号字符 ( ") 表示为 " &quot;"。

我读到前者是这样说的

必须是

  • <( &lt;) 必须是
  • &( &amp;) 必须是

可以,但当出现时必须]]>

  • >( &gt;) 必须是,如果显示为]]>

并且'根本"不必逃避;除非您想在带引号的属性中加上引号。


来自HTML 4.01 规范,HTML 文档表示

5.3.2 字符实体引用

希望将“ <”字符放入文本中的作者应使用“ &lt;”(ASCII 十进制 60)以避免可能与标记开头(开始标记打开分隔符)混淆。

同样,作者应该&gt;在文本中使用“”(ASCII 十进制 62)而不是“ >”,以避免旧用户代理在出现在引用的属性值中时错误地将其视为标记的结尾(标记关闭分隔符)的问题。

作者应使用“ &amp;”(ASCII 十进制 38)而不是“ &”,以避免与字符引用的开头混淆(实体引用打开分隔符)。作者还应该在属性值中使用“ &amp;”,因为在 CDATA 属性值中允许字符引用。

一些作者使用字符实体引用“ &quot;”来编码双引号 ( ") 的实例,因为该字符可用于分隔属性值。

HTML 在规则上更加空泛,但听起来我应该

  • <应该与&lt;
  • >应该与&gt;
  • &应该与&amp;
  • "应该与&quot;

如果"可以是实体引用,我也应该替换'&amp;.


更新二

来自HTML5 - HTML 和 XHTML 的词汇表和相关 API

8.3 序列化 HTML 片段

转义字符串(出于上述算法的目的)包括运行以下步骤:

用字符串“”替换任何出现的“ &”字符&amp;

用字符串“”替换任何出现的 U+00A0 NO-BREAK SPACE 字符&nbsp;

如果算法是在属性模式下调用的,则用字符串“”替换任何出现的“ "”字符&quot;

如果在属性模式下没有调用算法,则将任何出现的“ <”字符替换为字符串“ &lt;”,并将任何出现的“ >”字符替换为字符串“ &gt;”。

我读为HTML

  • &&amp;总是_
  • &nbsp;总是_
  • "&quot;如果它在属性内
  • <&lt;如果它不在属性中(即属性可以包含<
  • >&gt;如果它不在属性中(即属性可以包含>
0 投票
1 回答
113 浏览

xml - XML - 实体引用与编码

xml 中的编码和实体引用有什么区别?

0 投票
1 回答
4318 浏览

.net - 实体框架 - 外键内连接

我正在使用 Entity Framework 4.0(因此我可以将它与 .NET 3.5 一起使用)并且我从现有数据库生成了一个 DAL。

在数据库中,我有两个包含以下列的表(不允许为 NULL):

  1. tblWeapon (WeaponId PK, WeaponLabel)
  2. tblShot (ShotId PK, WeaponId)

tblShot 的 WeaponId 上有一个外键到 tblWeapon。

然后生成的实体看起来像这样:

在我的代码中,我有一个 ShotFilter 和一个 WeaponFilter 类,它们包含过滤各个表的条件。由于实体的过滤器是动态生成的,我想将查询的生成扩展到相应的过滤器类。每个过滤器都会返回一个IQueryable<T>,它们会根据需要连接起来以达到预期的结果。

我想要做的是获取所有引用武器的 Shot 对象,其中标签包含 text 0.5

当尝试对 to 进行内部连接时,问题就出现了IQueryable<Shot>IQueryable<Weapon>因为Shot它不包含WeaponId字段(只是 a WeaponReference)。在网上搜索并没有找到太多东西之后,我找到了一个论坛帖子,答案是加入对象本身。所以我尝试了这个并得到了我期望的结果:

但是当我检查使用 SQL Server Profiler 查询的实际 SQL 时,我看到了这个糟糕的语句(并且有点呕吐):

那么,我将如何以正确或至少有效的方式做到这一点?或者关于如何以动态和分布式方式组织我的查询生成的任何其他建议?

谢谢!


更新更多细节

我在进行连接时遇到的部分问题是 EF,在生成的实体中Shot没有WeaponId属性。只有管WeaponReference​​理它的财产。因此,在我的加入中,我希望能够使用:

但这不起作用,因为它WeaponId不是Shot.

然后我尝试了这个(这又看起来很奇怪):

这确实有效,并产生了相当简洁的 SQL(有一个例外):

那个例外是:OR (([Extent1].[WeaponId] IS NULL) AND ([Extent2].[WeaponId] IS NULL)). 我不想要他们都在哪里NULL,我只想要他们平等的地方。

0 投票
1 回答
2256 浏览

drupal-7 - Drupal 7,获取字段集合中实体引用的值

我有一个字段集合,其中包含

  1. 复制字段
  2. 用户字段,通过实体引用

现在,当我尝试通过将集合存储在中来访问复制字段时$collection,通过

我得到了我正在寻找的东西,但在实体引用字段上尝试类似

它打破了。通过查看变量,$collection->field_my_collection_user我应该有'uid'可用,但$collection->field_my_collection_user->uid什么也没给我,$collection->field_my_collection_user->uid->value();给我Unable to get the data property uid as the parent data structure is not set