2014-06-18 76 views
0

我在哪裏可以找到有關用戶實體的詳細信息,以及如何獲取其實例?

你好。

我們有一個自定義解決方案,供應商使用Microsoft Dynamics  作爲基礎。他們創建了一個自定義實體(contactrelationships),實體的一個字段/屬性被稱爲「ownerid」。我查看了GUI /網站 ,看起來這個屬性只是來自用戶實體的用戶。

我已經在網絡 上搜索了關於用戶實體的信息(我已經下載了Microsoft提供的ERD),但是我無法找到關於它的信息。有各種各樣的東西談論用戶和團隊,但沒有像這個MSDN page在聯繫人實體上。

基本上我有一個自定義的實體,其中屬性/字段之一(名稱是ownerid)使用用戶實體。當我查看網站上的實體並點擊ownerid將我帶到用戶管理網頁時,我對此進行了驗證。

我想通過C#創建這個自定義實體的新實例,並正確地分配ownerid屬性。我之前使用過EntityReference,但我不確定這是否正確。

你能幫忙嗎?謝謝:)


回答

1

ownerid是Dynamics CRM中的一個特殊屬性。如果使用設置爲User or Team的Ownwership創建實體,則會在實體內自動創建屬性ownerid(以及其他屬性,如createdbymodifiedby)。

ownerid可以處理SystemUser記錄或Team記錄,爲SystemUser元數據是在這裏:

http://msdn.microsoft.com/en-us/library/gg328525(v=crm.5).aspx

和'元數據團隊在這裏:

http://msdn.microsoft.com/en-us/library/gg328312(v=crm.5).aspx

領域是一個EntityReference,所以你需要使用語法(如果你想指定一個不同的用戶Ë,實際上是創造了記錄)

entity["ownerid"] = new EntityReference("systemuser", userId); 

但由於該屬性是特殊的,上面的語法是有效的,只有當你創建一個新的記錄,如果要修改現有的記錄,你需要使用一個AssignRequest

Guid accountId = new Guid("90F8889F-EB95-E781-8417-000C44420CBC"); 
Guid newOwnerId = new Guid("A8AA28B4-9015-DF11-8062-000E0CA08051"); 

AssignRequest assignRequest = new AssignRequest 
     { 
      Assignee = new EntityReference("systemuser", newOwnerId), 
      Target = new EntityReference("account", accountId) 
     }; 
service.Execute(assignRequest); 
相關問題