2009-05-21 51 views
2

使用Dynamics CRM我試圖創建一個實體實例。我想手動設置GUID,但是如果我有屬性是DynamicEntity的主鍵,則會出現以下錯誤。如何使用特定的GUID創建新記錄

服務無法處理請求

我建立一個DynamicEntity,並設置[實體名稱] id屬性導致失敗的請求。它是在兩個CRM實例之間移動數據,所以如果有人知道在CRM之間複製記錄的更好方法,那也可以。否則,我希望GUID匹配不同的實例......因爲這是GUID的要點。

回答

3

令人高興的是,它IS可能在兩個CRM情況下做到這一點!一位同事知道解決方案,所以信用確實屬於他。

我的錯誤是創建一個類型UniqueIdentifierProperty屬性。實體的主鍵屬性需要填寫KeyProperty。這兩個屬性幾乎相同 - 屬性類型是,除了一個擁有一個Key,另一個擁有UniqueIdentifier。 Key/UniqueIdentifier都保存GUID。 (微軟的另一天!)

準確地說,我正在做的是創建一個DynamicEntity,填寫實體名稱,並填寫大部分屬性。 PK屬性(可以從元數據中確定)可以用KeyProperty填充。我用UniqueIdentifierProperty來填充它,該CRM拒絕並回應一個不起眼的和無用的錯誤消息。

+1

*嘆*情節變厚。雖然上述工作,CRM仍然阻礙。如果您在CRM中刪除了一條記錄,它並沒有真正消失,它僅僅被標記爲刪除 - 請參閱DeletionStateCode。這些都會被刪除(插入任意數字)小時。但是在那段時間內,GUID仍然在數據庫中,所以你不能插入另一條記錄(重複的PK)。你可以通過刪除整個實體並重新創建它來解決問題。爲什麼在上帝的名義下,微軟決定這是一個超越我的好主意。它將被刪除。只需刪除記錄... – Thanatos 2009-05-22 21:06:04

0

如果我過度簡化了解決方案,我很抱歉,但爲什麼不在兩個實例中添加一個自定義字段,這將是其他實例guid的鏡像?

相關問題