2013-02-22 99 views
2

我有一個名爲NDS的實體,它具有查看帳戶的功能。現在,在UI中,我可以單擊查找圖標並單擊另一個帳戶記錄(更新)或單擊刪除按鈕以刪除該值。在CRM 2011中刪除查找值

如何通過刪除代碼執行相同的功能。我正在編寫一個插件。

//Code to update 
NDS["accountid"] = new EntityReference("Account", neworganizationid); 
xrmService.Update(NDS) 

//Code to remove 
//?? 

要更新的代碼正常工作。這是刪除失敗的代碼。我認爲,以更新代碼只,甚至沒有與刪除任何問題做工精細,但我有一個錯誤信息

帳戶使用id = 00000000-0000-0000-0000-000000000000不存在

有什麼想法?

PS:我是MS CRM的新手。

回答

2

只要它不是一個N:N的關係,你只需要做到這一點:

NDS["accountid"] = null; 
xrmService.Update(NDS); 

從你的錯誤消息,我猜你這樣做:

NDS["accountid"] = new EntityReference(); 
xrmService.Update(NDS); 

這將無法正常工作。

另外要提醒您,如果它是一個N:N的關係,你需要使用Disassociate Request

+0

達里爾:其實,我在讀的字段的值,它回來了作爲00000000-0000 -0000-0000-000000000000。所以,我的代碼是NDS [「accountid」] = new EntityReference(「Account」,neworganizationid); 但你的建議奏效! 請注意我自己:下次嘗試將值設置爲NULL ...是否會? ;-) – Kanini 2013-02-22 14:26:27

+0

Daryl:但是下次打開記錄並運行我的插件時,甚至無法看到屬性,即NDS.Contains [「accountid」]返回false。有任何想法嗎? – Kanini 2013-02-22 14:53:27

+0

@Kanini如果NDS沒有帳戶,它不會在後期綁定屬性集合中。 – Daryl 2013-02-22 19:24:53