试用需要企业邮箱
1.去阿里云买一个域名
2.去网易企业邮箱注册个企业邮箱
3.申请试用一个月trials.dynamics.com
4.新建console(c# framwork 4.6.1) 导包NuGet Install-Package Microsoft.CrmSdk.XrmTooling.CoreAssembly -Version 9.0.2.5
App.config
startup下添加
<connectionStrings> <clear/> <add name="jlOrm" connectionString="Url=https://test.crm.dynamics.com/; Username=test@jllucky.onmicrosoft.com; Password=*****; authtype = Office365"/> </connectionStrings>
(一)通过sdk进行crud(微软封装方法)
查询
static void Main(string[] args) { QueryWithEntity(); } static void QueryWithEntity() { CrmServiceClient conn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["jlOrm"].ConnectionString); OrganizationServiceProxy orgService = conn.OrganizationServiceProxy; Console.WriteLine("========orgService=====" + orgService); QueryExpression query = new QueryExpression("new_user"); query.ColumnSet = new ColumnSet(new string[] { "new_name", "new_password" }); 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(); }
增加
static void Main(string[] args) { InsertWithEntity(); } static void InsertWithEntity() { CrmServiceClient conn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["jlOrm"].ConnectionString); OrganizationServiceProxy orgService = conn.OrganizationServiceProxy; Console.WriteLine("========orgService=====" + orgService); Entity entity = new Entity("new_user"); entity["new_name"] = "lisi"; entity["new_password"] = "1234abc"; entity["new_age"] = 10; orgService.Create(entity); }
更新
static void Main(string[] args) { QueryWithEntity(); } static void UpdateWithEntity() { CrmServiceClient conn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["jlOrm"].ConnectionString); OrganizationServiceProxy orgService = conn.OrganizationServiceProxy; Console.WriteLine("========orgService=====" + orgService); QueryExpression query = new QueryExpression("new_user"); query.ColumnSet = new ColumnSet(new string[] { "new_name", "new_password" }); EntityCollection entities = orgService.RetrieveMultiple(query); entities.Entities[0]["new_name"] = "Tony"; orgService.Update(entities.Entities[0]); }
删除
static void Main(string[] args) { DeleteWithEntity(); } static void DeleteWithEntity() { CrmServiceClient conn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["jlOrm"].ConnectionString); OrganizationServiceProxy orgService = conn.OrganizationServiceProxy; Console.WriteLine("========orgService=====" + orgService); QueryExpression query = new QueryExpression("new_user"); query.ColumnSet = new ColumnSet(new string[] { "new_userid" }); EntityCollection entities = orgService.RetrieveMultiple(query); orgService.Delete("new_user", (Guid)entities.Entities[0]["new_userid"]); }
sdk操作实体(linq方法)
查询
static void Main(string[] args) { QueryWithLinq(); } static void QueryWithLinq() { CrmServiceClient conn = new CrmServiceClient(ConfigurationManager.ConnectionStrings["jlOrm"].ConnectionString); OrganizationServiceProxy orgService = conn.OrganizationServiceProxy; OrganizationServiceContext svcContext = new OrganizationServiceContext(orgService); var query = (from u in svcContext.CreateQuery("new_user") select new { new_name = u["new_name"], new_password = u["new_password"] }).ToList(); query = (query.Where(u=>(string)u.new_name == "lisi")).ToList(); foreach (var entity in query) { Console.WriteLine("new_name: " + entity.new_name + ",new_password: " + entity.new_password); } }