dynamics 365的增删改查
创始人
2024-06-01 08:42:29
0

今天需要完成对dynamics 365的增删改查,网上一直找不到合适的教程,官方文档看不懂,实在没办法了,于是下载了chatgpt,对他进行了提问。


我:怎么用visual studio基于dynamics 365进行增删改查?

ChatGPT 中文版:
要使用Visual Studio基于Dynamics 365进行增删改查,可以使用Dynamics 365 SDK和.NET Framework等工具。以下是一些大致步骤:

1. 在Visual Studio中创建一个新的项目,并选择Dynamics 365项目模板。
2. 配置连接到Dynamics 365实例的信息,包括访问密钥等。
3. 创建适当的实体类、视图以及数据上下文类,以便能够与Dynamics 365中的数据进行交互。
4. 编写代码来实现增删改查操作,可以使用Linq查询等方式来获取或修改数据。
5. 运行代码并查看结果。

需要注意的是,具体的实现方式可能会因为不同的需求而有所差异,同时在使用SDK开发时需要满足相应的环境要求。


第一部就不会于是


我:第一部中怎么创造dynamics 365项目模板?

ChatGPT 中文版:
在Visual Studio中创建Dynamics 365项目模板的步骤如下:

1. 在Visual Studio中,打开“文件”菜单并选择“新建”->“项目”。
2. 在“新建项目”对话框中,展开“其他项目类型”节点并选择“Dynamics 365”。如果没有该选项,可以先安装Dynamics 365 SDK。
3. 选择要创建的项目类型,例如“Dynamics 365实体库”,然后输入项目名称和存储位置等信息。
4. 配置连接到Dynamics 365实例的信息,包括访问密钥等。根据具体情况,可能需要提供其他信息,例如实体名称、字段等。
5. 点击“确定”按钮创建项目。

创建完成后,可以在“解决方案资源管理器”中查看项目结构,并开始编写代码来实现增删改查等操作。


于是新建了一个项目

去微软官方下载开发工具包程序集 

下载完成

到了第二部

 2. 配置连接到Dynamics 365实例的信息,包括访问密钥等。

这步又不会了


于是我:链接到dynamics 365的实例信息在哪写?怎么写

ChatGPT 中文版:
链接到Dynamics 365实例的信息可以通过以下几种方式进行配置:

1. 在Visual Studio中创建Dynamics 365项目时,可以通过“新建项目”对话框中的界面来输入链接信息。具体来说,在“连接到Dynamics 365实例”窗口中,需要提供实例名称、访问密钥和安全协议等信息。

2. 在使用Dynamics 365 SDK开发时,可以在代码中手动指定链接信息。例如,可以通过以下代码来指定链接信息:   ```

   var connectionString = "Url=https://contoso.crm.dynamics.com; AuthType=OAuth; UserName=user@contoso.onmicrosoft.com; Password=password;";var service = new OrganizationService(connectionstring);

   其中,URL为Dynamics 365实例的地址,Username和Password分别为登录Dynamics 365所需的用户名和密码。

3. 在使用REST API与Dynamics 365交互时,可以在请求头部分提供链接信息。例如,可以通过以下代码来发送一个GET请求。

 GET /api/data/v9.0/accounts HTTP/1.1Host: .crm.dynamics.comAuthorization: Bearer 

其中,``为Dynamics 365实例的名称,``为访问令牌。

需要注意的是,不同的开发场景可能需要提供不同的链接信息,具体要根据实际情况进行选择和配置。


我没太研究明白,决定周末继续研究,

下面是我在网上找到的一些增删改查代码,周末试试,不知道对不对,

增加一条记录
function createAccount() {  // collect account data  var data = {  "name": document.getElementById("txtname").value,  "address1_city": document.getElementById("txtcity").value,  "telephone1": document.getElementById("txtphone").value,  "numberofemployees": document.getElementById("txttotalemployees").value,  "websiteurl": document.getElementById("txtwebsite").value  }  // create account record  parent.Xrm.WebApi.createRecord("account", data).then(  function success(result) {  document.getElementById("txtaccountid").value = result.id;  alert("Account Created !!");  },  function(error) {  alert(error.message);  }  );  
}  更改一条记录
function updateAccount() {  // collect account data  var data = {  "name": document.getElementById("txtname").value,  "address1_city": document.getElementById("txtcity").value,  "telephone1": document.getElementById("txtphone").value,  "numberofemployees": document.getElementById("txttotalemployees").value,  "websiteurl": document.getElementById("txtwebsite").value  }  //get account id  var accountId = document.getElementById("txtaccountid").value;  // update account record  parent.Xrm.WebApi.updateRecord("account", accountId, data).then(  function success(result) {  alert("Account Record Updated");  },  function(error) {  alert(error.message);  }  );  }  ```javascript
删除一条记录
function deleteAccount() {  var accountId = document.getElementById("txtaccountid").value;  parent.Xrm.WebApi.deleteRecord("account", accountId).then(  function success(result) {  alert("Account deleted");  },  function(error) {  alert(error.message);  }  );  }  查找一条记录
function RetrieveRecord(GUID) {parent.Xrm.WebApi.retrieveRecord("account", GUID, "?$select=name,revenue,mobilephone").then(function success(result) {console.dir(result);// perform operations on record retrieval},function (error) {console.log(error.message);// handle error conditions});
}查找相关记录function RetrieveRefRecord(GUID) {parent.Xrm.WebApi.retrieveRecord("account", GUID, "?$select=name&$expand=primarycontactid($select=contactid,fullname)").then(function success(result) {console.log(`Retrieved values: Name: ${result.name}, Primary Contact ID: ${result.primarycontactid.contactid}, Primary Contact Name: ${result.primarycontactid.fullname}`);// perform operations on record retrieval},function (error) {console.log(error.message);// handle error conditions});
}查找记录集function RetrieveMutlRecords() {parent.Xrm.WebApi.retrieveMultipleRecords("account", "?$select=name&$top=3").then(function success(result) {for (var i = 0; i < result.entities.length; i++) {console.log(result.entities[i]);}// perform additional operations on retrieved records},function (error) {console.log(error.message);// handle error conditions});
}

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...