CRM練習Chapter3查詢數(shù)據(jù)和Execute操作_第1頁
CRM練習Chapter3查詢數(shù)據(jù)和Execute操作_第2頁
CRM練習Chapter3查詢數(shù)據(jù)和Execute操作_第3頁
CRM練習Chapter3查詢數(shù)據(jù)和Execute操作_第4頁
CRM練習Chapter3查詢數(shù)據(jù)和Execute操作_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、練習 3.1 :使用 QueryExpression分步操作步驟 1:使用 Visual Studio 2010 打開 PurchasingManager - StartingSolution 項目該啟動項目位于PurchasingManager。如果這是您第一次打開Visual Studio 2010,您可能必須設置“常規(guī)開發(fā)設置”。在 此情況下,選擇C#。步驟2 :設置“組織服務” Web服務使用以下代碼找到代碼中的GetOrganization函數(shù):Uri organizationUri = newUri( HYPERLINK http:/CRMServer/AdventureWorks

2、Cycles/XRMServices/2011/Organiza http:/CRMServer/AdventureWorksCycles/XRMServices/2011/Organiza tion.svc);var cred = new ClientCredentials();cred.Windows.ClientCredential = newNetworkCredential(administrator, password1);OrganizationServiceProxy _serviceproxy = new OrganizationServiceProxy(organizati

3、onUri, null, cred, null);IOrganizationService _service = (IOrganizationService)_serviceproxy; return _service;步驟3 :編寫QueryExpressionExample 方法, 在QueryExpressionExample方法內(nèi),請確保包含以下代碼,以便執(zhí)行以下步驟。為 “fUllname”和 “parentcustomerid”字段創(chuàng)建列集。創(chuàng)建 “ConditionExpression”,其中 “AttributeName”設為 jobtitle,運算符為 Like, 并且值設為

4、“采購經(jīng)理”?;凇癈onditionExpression”生成 “FilterExpression”。, 為篩選器創(chuàng)建并設置“QueryExpression”。, 為聯(lián)系人實體調(diào)用 “RetrieveMultiple”并返回 “EntityCollection”。QueryExpression qe = new QueryExpression(contact);ColumnSet cs = new ColumnSet();FilterExpression fe = new FilterExpression();ConditionExpression ce = new ConditionExp

5、ression();cs.AddColumns(fullname,parentcustomerid);ce.AttributeName =jobtitle;ce.Operator = ConditionOperator.Equal;ce.Values.Add(采購經(jīng)理);fe.AddCondition(ce);qe.ColumnSet = cs;qe.Criteria.AddFilter(fe);EntityCollection contacts = _service.RetrieveMultiple(qe);步驟4 :顯示信息在返回聯(lián)系人后,在EntityCollection中循環(huán),顯示返回

6、的每個聯(lián)系人的全名。foreach (var a in contacts.Entities) (Console.WriteLine(a.Attributesfullname.ToString(); )步驟5 :生成應用程序并進行測試,按鍵盤上的F5,生成應用程序并進行測試。,運行控制臺應用程序并查看輸出結(jié)果?!案毩?.2:使用LINQ執(zhí)行“創(chuàng)建”、“讀取” 新”和“刪除”操作“更分步操作步驟1 :創(chuàng)建使用VisualStudio2010的控制臺應用程序單擊“開始”菜單,然后單擊 “Microsoft Visual Studio 2010”。依次單擊“文件”、“打開”、“項目/解決方案”。瀏覽

7、到LINQMethod,打開解決方案文件。步驟2 :設置Web服務找到注釋“執(zhí)行的操作:創(chuàng)建GetOrganization方法以實例化OrganizationService”, 將其替換為用來設置“組織服務”的代碼。使用以下代碼。Uri organizationUri = newUri( HYPERLINK http:/CrmServer/AdventureWorksCycles/XRMServices/2011/Organiza http:/CrmServer/AdventureWorksCycles/XRMServices/2011/Organiza tion.svc);var cred

8、= new ClientCredentials();cred.Windows.ClientCredential = newNetworkCredential(administrator“, ”password1”);OrganizationServiceProxy _serviceproxy = newOrganizationServiceProxy(organizationUri, null, cred, null);_serviceproxy.EnableProxyTypes();IOrganizationService _service = (IOrganizationService)_

9、serviceproxy;return _service;不要忘記了包括“_serviceproxy.EnableProxyTypes();。沒有這一行,您將無法使用 早期綁定。步驟3 :編寫用來創(chuàng)建三個聯(lián)系人的代碼在LinqUpdate方法內(nèi),展開標題為“執(zhí)行的操作:使用LINQ創(chuàng)建聯(lián)系人”的區(qū)域。, 在該區(qū)域內(nèi),包括以下代碼來創(chuàng)建三個聯(lián)系人:Alan Smith、Ben Andrews和Colin Wilcoxo/創(chuàng)建 Alan Smith var contact = new Contact() (FirstName =Alan,LastName =Smith,JobTitle = 采購主

10、管” );orgContext.AddObject(contact);/創(chuàng)建 Ben Andrewsvar contact2 = new Contact() (FirstName =Ben,LastName =Andrews,JobTitle = 采購主管” );orgContext.AddObject(contact2);/創(chuàng)建 Colin Wilcox var contacts = new Contact() (FirstName=Colin,LastName = Wilcox,JobTitle = 采購主管” );orgContext.AddObject(contact3); orgCo

11、ntext.SaveChanges();步驟4 :通過將職務設置為“采購負責人”,更新聯(lián)系人,在代碼中,找到標題為“執(zhí)行的操作:更新聯(lián)系人并將他們的職務設置為采購負 責人”的區(qū)域并展開。, 在代碼中,使用LINQ構(gòu)造一個查詢,在Microsoft Dynamics CRM中查找職務為空 的所有聯(lián)系人。,在這些聯(lián)系人中循環(huán),將職務設置為“采購負責人”。var queryPurchasingManager = from c in orgContext.ContactSet where (c.JobTitle = “采購主管”) select c;foreach (var a in queryPur

12、chasingManager) a.JobTitle =采購負責人;orgContext.UpdateObject(a);Console.WriteLine(0 的職務已更新為采購負責人,afullname);)orgContext.SaveChanges();步驟5 :刪除職務為“采購負責人”的聯(lián)系人找到標題為“刪除在創(chuàng)建部分創(chuàng)建的聯(lián)系人”的區(qū)域并展開。在該區(qū)域中,使用LINQ查找職務為“采購負責人”的聯(lián)系人并刪除。var deleteQuery = from c in orgContext.ContactSet where (c.JobTitle=采購負責人”) select c;fore

13、ach(var c in deleteQuery) orgContext.DeleteObject(c);orgContext.SaveChanges();步驟6 :生成應用程序并進行測試在運行應用程序之前,在代碼中每個區(qū)域的結(jié)尾包括斷點,使您能夠評估所調(diào)用的 CRUD方法的進度。確保打開了 Microsoft Dynamics CRM應用程序,并且正在查看“可用聯(lián)系人”視 圖。按鍵盤上的F5,生成應用程序并進行測試。運行控制臺應用程序并觀察輸出結(jié)果。在創(chuàng)建記錄后到達第一個斷點時,轉(zhuǎn)到應用程序,刷新“可用聯(lián)系人”視圖,您會 注意到為 Alan Smith、Ben Andrews和 Colin

14、Wilcox創(chuàng)建了聯(lián)系人。返回到Visual Studio 2010,逐步執(zhí)行到下一個斷點。返回到應用程序,打開Alan Smith的聯(lián)系人記錄,會注意到他的職務為“采購負責 人”。返回到Visual Studio 2010,逐步執(zhí)行到下一個斷點。返回到“可用聯(lián)系人”視圖,刷新視圖,會注意到Alan Smith、Ben Andrews和 Colin Wilcox不再作為聯(lián)系人存在。練習3.3:使用FetchXML分步操作步驟 1 :在 VisualStudio2010中打開此練習的StartingSolution文件打開 Visual Studio 2010。單擊“打開”,然后單擊“項目/解決

15、方案”,瀏覽到PurchasingAssistant。打開解決方案文件。步驟2 :編寫實例化組織服務的代碼找到標題為“執(zhí)行的操作:創(chuàng)建實例化組織服務的代碼”的區(qū)域,然后展開。在該區(qū)域內(nèi)包括以下代碼:Uri organizationUri = newUri( HYPERLINK http:/CrmServer/AdventureWorksCycles/XRMServices/2011/Organiza http:/CrmServer/AdventureWorksCycles/XRMServices/2011/Organiza tion.svc);var cred = new ClientCred

16、entials();cred.Windows.ClientCredential = newNetworkCredential(administrator, password1);OrganizationServiceProxy _serviceproxy = newOrganizationServiceProxy(organizationUri, null, cred, null);IOrganizationService _service = (IOrganizationService)_serviceproxy;return service;步驟3 :構(gòu)造FetchXML查詢字符串找到標題

17、為“執(zhí)行的操作:創(chuàng)建查詢并在結(jié)果中循環(huán)”的區(qū)域,然后展開。在該區(qū)域內(nèi),包括以下用來構(gòu)造FetchXML查詢的代碼,然后在結(jié)果中循環(huán): string fetchXml = ; EntityCollection contactlist =(EntityCollection)_service.RetrieveMultiple(new FetchExpression(fetchXml);foreach (var cnt in contactlist.Entities) (Console.WriteLine(cnt.Attributesfullname.ToString(); )步驟4 :生成應用程序并

18、進行測試按鍵盤上的F5,生成應用程序并進行測試。運行控制臺應用程序并觀察輸出結(jié)果。練習3.4:使用篩選視圖分步操作步驟 1 :在 VisualStudio2010中打開此練習的 StartingSolution文件打開 Visual Studio 2010。單擊“打開”,然后單擊“項目/解決方案”,瀏覽到X:LabFilesExtending CRMChapter 3C#AccountSearching-FilteredViews-CS-StartingSolution。打開解決方案文件。步驟2 :創(chuàng)建SQL連接字符串找到注釋“執(zhí)行的操作:向本地CRM組織數(shù)據(jù)庫輸入連接字符串”并將其替換為 創(chuàng)

19、建SQL命令字符串的代碼。使用以下代碼。SqlConnection connection = new SqlConnection(Data Source=localhost;Initial Catalog=Demo_MSCRM;Integrated Security=True);connection.Open();return connection;步驟3 :創(chuàng)建用來創(chuàng)建SQL命令的代碼,執(zhí)行命令,填充Windows表單上的網(wǎng)格視圖找到注釋“執(zhí)行的操作:調(diào)用連接字符串創(chuàng)建方法,查詢filteredaccount視圖并 填寫數(shù)據(jù)網(wǎng)格視圖”,將其替換為執(zhí)行SQL命令并填充網(wǎng)格視圖的代碼。SqlCo

20、nnection connection = CreateConnection();string sqlQuery = select name, address1_city, address1_stateorprovince from filteredaccount where name like % + txtSearch.Text + %;SqlDataAdapter adapter = new SqlDataAdapter(sqlQuery, connection);DataTable dtAccount = new DataTable();adapter.Fill(dtAccount);

21、connection.Close();dgvAccountList.DataSource =dtAccount;dgvAccountList.Visible = true;dgvAccountList.Focus();步驟4 :生成應用程序并進行測試按鍵盤上的F5,生成應用程序并進行測試。運行Windows應用程序并查看輸出結(jié)果。在“搜索”文本框中,輸入“商店”,然后單擊“搜索”。要觀察代碼的進度,請在代碼中包括斷點。練習3.5:使用請求和響應C#分步說明步驟 1 :在 VisualStudio2010中打開此練習的StartingSolution文件打開 Visual Studio 2010

22、。單擊“打開”,然后單擊“項目/解決方案”,瀏覽到ExecuteMethod。打開解決方案文件。步驟2 :編寫實例化組織服務的代碼找到標題為“執(zhí)行的操作:創(chuàng)建實例化組織服務的代碼”的區(qū)域,然后展開。在該區(qū)域內(nèi)包括以下代碼:Uri organizationUri = newUri( HYPERLINK http:/CrmServer/AdventureWorksCycles/XRMServices/2011/Organiza http:/CrmServer/AdventureWorksCycles/XRMServices/2011/Organiza tion.svc);var cred = ne

23、w ClientCredentials();cred.Windows.ClientCredential = newNetworkCredential(administrator”, “password1”);OrganizationServiceProxy _serviceproxy = newOrganizationServiceProxy(organizationUri, null, cred, null);IOrganizationService _service = (IOrganizationService)_serviceproxy;return service;步驟3 :創(chuàng)建Ge

24、tAllAcctAttributes 方法找到標題為“執(zhí)行的操作:獲取客戶屬性”的區(qū)域,并展開該區(qū)域。 創(chuàng)建一個ColumnSet并用所傳入的字符串數(shù)組填充它。使用 ColumnSet 創(chuàng)建一個 QueryExpression。創(chuàng)建 “RetrieveMulitpleRequest”對象。將“區(qū)4比$1”對象的“Query”屬性設置為“QueryExpression”。執(zhí)行該Requesto返回所獲得響應的EntityCollection部分。使用以下代碼。ColumnSet cs = new ColumnSet(attributes);QueryExpression qe = new Que

25、ryExpression(account);qe.ColumnSet = cs;RetrieveMultipleRequest rmr = new RetrieveMultipleRequest();rmr.Query = qe;RetrieveMultipleResponse rResponse =(RetrieveMultipleResponse)_service.Execute(rmr);return rResponse.EntityCollection;步驟4 :創(chuàng)建GetAllUserAttributes 方法找到標題為“執(zhí)行的操作:獲取用戶屬性”的區(qū)域,并展開該區(qū)域。創(chuàng)建一個Col

26、umnSet并用所傳入的字符串數(shù)組填充它。創(chuàng)建一個ConditionExpression來排除已禁用的記錄。創(chuàng)建一個ConditionExpression來排除其全名位于所傳入excludedUsers數(shù)組中的 記錄。生成一個FilterExpression,將以前用邏輯“與”運算創(chuàng)建的兩個 ConditionExpression 結(jié)合起來。使用ColumnSet (根據(jù)所傳入的屬性參數(shù)創(chuàng)建)和FilterExpression (在上一步中 倉建)倉|建 QueryExpression。返回所獲得響應的EntityCollection部分。使用以下代碼。ColumnSet cs = new ColumnSet(attributes);/*Set the condition for the retrieval to be when the system user is not disabled*/ConditionExpression ce = new ConditionExpression(isdisabled, ConditionOperator.Equal, new object false );ConditionExpression excluded = new C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論