0

我在自引用 1:N 关系中遇到了这个问题-
我正在尝试将实体 A(类型new_transaction)与实体 B(相同类型)相关联。
该关联工作正常(我已检查 DB-'new_relatedTransactionId'列已正确更新)。
但是,名称列 ( 'new_relatedTransactionIdName') 设置为NULL,导致表单显示一个空文本框...
在此处输入图像描述

我尝试了以下方法,但没有成功 -
1。

var rel = new Relationship(relationshipName) {PrimaryEntityRole = EntityRole.Referenced};
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();
relatedEntities.Add(relatedTransaction.ToEntityReference());
crmServiceContext.Associate(new_transaction.EntityLogicalName,sourceTransaction.Id,rel,relatedEntities);

2

sourceTransaction.lv_relatedtransactionid = relatedTransaction.ToEntityReference();
crmServiceContext.UpdateObject(sourceTransaction);

3

crmServiceContext.AddLink(sourceTransaction, new Relationship(relationshipName) { PrimaryEntityRole = EntityRole.Referenced }, relatedTransaction);

我已经尝试过切换EntityRole.ReferencedEntityRole.Referencing但仍然没有运气。
有人遇到过类似的问题吗?

4

1 回答 1

1

选项 2 是我创建这种关系的首选方法。

该字段'new_relatedTransactionIdName'未存储在数据库中,您实际上是在查看 SQL 视图。

如果此字段是null,则表明 new_relatedTransactionId 中 Guid 引用的实体记录的主要字段为空白。

每个实体都有一个定义为其主要字段的文本字段。该字段的值不一定是必填字段,因此最终可以为空白,它将显示在图像的文本框中。

您没有定义特定于关系的此值,它是在创建和/或更新实体记录时创建的,并在关系中涉及该实体的任何地方使用。

于 2013-01-07T22:17:37.840 回答