0

自己参照1:N関係でこの問題が発生しています-エンティティA(タイプ)をエンティティB(同じタイプ)
に関連付けようとしています。 関連付けは正常に機能します(DB-列が正しく更新されていることを確認しました)。 ただし、名前列()がに設定されているため、フォームに空のテキストボックスが表示されます。new_transaction
'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 に答える