由于公司CRM平台从Salesforce向Dynamic 365转型,因此全身心投入学习了几天Dynamic 365,国内相关的资料很少,所以总结这几天学到东西,以避免初学者走弯路。
本章分享内容介绍
1.Dynamics的学习资料
2.Dynamics账号注册
3.Visual Studio连接到Dynamics 365
(一)学习资料下载
Dynamics学习的主要资料就是官方SDK,里面包含了源码和工具等许多内容可以参考,这些可以从Dynamics官网下载到。
SDK在线网址:
https://docs.microsoft.com/zh-cn/dynamics365/customer-engagement/developer/developer-guide
(二)账号注册
如果公司没有买Dynamics 365账号,我们可以申请一个测试账号,试用期是一个月,到期后可以免费申请延期一个月。如果买了账号就当我没说。
账号申请成功后,我们可以进入如下的界面。
以销售为例,在销售部分,点击设置,会出现业务、自定义、系统、流程中心、应用程序等几个模块。具体每个模块的内容,将在后面介绍。
点击设置->隐私和Cookie,我们可以看到个人信息、应用权限等内容。
(三) 开发框架搭建
Dynamics 365在开发中,会使用Visual Studio来编写代码,可以
下载安装VS2017,也可以使用VS2015.
下载链接:https://visualstudio.microsoft.com/zh-hans/downloads/
-
新建VS工程
-
添加需要的引用文件(DLL)
(1)右侧【解决方案资源管理器】,在对应项目中找到引用;【右键】引用 ,点击【添加引用】。
(2)打开左侧选项,寻找你所需要的程序集。
(3)如果系统中没有你需要的dll文件,可以从网上下载再加入,或者通过NuGet程序包管理添加一些第三方dll。
(4)通过NuGet包管理步骤也是一样的,右键引用->管理NuGet程序包->选择联机->搜索需要添加的程序包点击安装即可。
Dynamic 365中需要的dll有如下:
<packages><package id="Microsoft.Crm.Sdk.Proxy.2015" version="7.1.0" targetFramework="net461" /><package id="Microsoft.CrmSdk.CoreAssemblies" version="9.0.2.4" targetFramework="net461" /><package id="Microsoft.CrmSdk.Deployment" version="9.0.2.4" targetFramework="net461" /><package id="Microsoft.CrmSdk.Workflow" version="9.0.2.4" targetFramework="net461" /><package id="Microsoft.Xrm.Sdk.2015" version="7.1.0.1085" targetFramework="net461" /><package id="Microsoft.XRM.SDK.2015.OnPremise" version="7.0.2.8" targetFramework="net461" />
</packages>
注意:using Microsoft.Xrm.Tooling.Connector;你可以在 工具—nuGet包管理器中—程序包管理器 控制台中执行:Install-Package Microsoft.CrmSdk.XrmTooling.CoreAssembly -Version 9.0.2.5。就可以安装了
3.连接到dynamics 365平台
在使用vs开发阶段,我们必然会连接到Dynamics平台上进行开发,通过设置账号密码等连接信息,既可连接到平台。通过OrganizationServiceProxy类可以操作实体数据库。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Xrm.Tooling.Connector;
using Microsoft.Crm.Sdk.Messages;namespace TestConnection
{class Program{static void Main(string[] args){DateTime beforDT = System.DateTime.Now;string connectionString = "Url=https://crm0103.crm5.dynamics.com;Username=wangwh9@crm0103.onmicrosoft.com;Password=test; authtype = Office365";CrmServiceClient conn = new CrmServiceClient(connectionString);OrganizationServiceProxy orgService = conn.OrganizationServiceProxy;Console.WriteLine("========orgService=====" + orgService);QueryExpression query = new QueryExpression("new_be_eligible_pn__c");query.ColumnSet = new ColumnSet(new string[] {"new_name", "new_psc__c"});EntityCollection listaccount = orgService.RetrieveMultiple(query);Console.WriteLine("====listaccount===="+ listaccount);foreach (var pair in listaccount.Entities){foreach (var pa in pair.Attributes){Console.WriteLine(pa.Key + ": " +pa.Value);}}Console.WriteLine(listaccount);Console.ReadLine();}}
}