今天需要完成对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.1
Host: <instance name>.crm.dynamics.com
Authorization: Bearer <access token>
其中,`<instance name>`为Dynamics 365实例的名称,`<access token>`为访问令牌。
需要注意的是,不同的开发场景可能需要提供不同的链接信息,具体要根据实际情况进行选择和配置。
我没太研究明白,决定周末继续研究,
下面是我在网上找到的一些增删改查代码,周末试试,不知道对不对,
增加一条记录
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
}
);
}