使用 Dynamics CRM 2011 SDK 和 C# 更新帐户
Update Account using Dynamics CRM 2011 SDK and C#
我正在使用 Dynamics CRM 2011 C# SDK 从我的本地 DynamicsCRM 2011 写入和读取数据。
我目前正在从 https://msdn.microsoft.com/en-us/library/gg695803%28v=crm.5%29.aspx
中的这个基本示例开始
因此,创建新帐户或联系人并将其写入 Dynamics 似乎没有问题,并且工作方式如下:
var companyTest = new Xrm.Account
{
Name = "Company Test1",
AccountNumber = "1",
Address1_Country = "D",
Address1_City = "M",
Telephone1 = "12345678",
EMailAddress1 = "oldmail@gg.com"
};
xrm.AddObject(companyTest);
xrm.SaveChanges();
现在我不完全明白如何更改我创建的帐户中的一些信息。
所以我尝试了这个:
var companyTest = new Xrm.Account
{
Name = "Company Test1",
AccountNumber = "1",
Address1_Country = "D",
Address1_City = "M",
Telephone1 = "12345678",
EMailAddress1 = "newmail@gg.com" // change the email for instance
};
xrm.UpdateObject(companyTest);
xrm.SaveChanges();
但是在执行此操作时出现以下错误:'System.InvalidOperationException'
如何正确执行此操作?
此外,如果有人能推荐有关 DynamicsCRM SDK 的书籍或视频课程,我将不胜感激。
在您的示例中,您使用早期绑定和 XrmContext 来添加和修改帐户。
如果您已经在上下文中拥有该帐户(意味着您在创建它后立即执行更新,您只需更改 companyTest 中的值:
var companyTest = new Xrm.Account
{
Name = "Company Test1",
AccountNumber = "1",
Address1_Country = "D",
Address1_City = "M",
Telephone1 = "12345678",
EMailAddress1 = "oldmail@gg.com"
};
xrm.AddObject(companyTest);
xrm.SaveChanges();
companyTest.AccountNumber = "2";
xrm.UpdateObject(companyTest);
xrm.SaveChanges();
如果您正在更新不在上下文中的记录,则需要提供记录的 ID,如下所示:
Guid accountId = new Guid(""); // account id here
var companyTestUpdate = new Xrm.Account
{
Id = accountId,
AccountNumber = "2"
};
xrm.UpdateObject(companyTest);
xrm.SaveChanges();
如果您刚开始使用 CRM SDK 和 CRUD 操作,我建议使用后期绑定和 IOrganizationService
而不是 XrmContext
,它更容易。
我正在使用 Dynamics CRM 2011 C# SDK 从我的本地 DynamicsCRM 2011 写入和读取数据。
我目前正在从 https://msdn.microsoft.com/en-us/library/gg695803%28v=crm.5%29.aspx
中的这个基本示例开始因此,创建新帐户或联系人并将其写入 Dynamics 似乎没有问题,并且工作方式如下:
var companyTest = new Xrm.Account
{
Name = "Company Test1",
AccountNumber = "1",
Address1_Country = "D",
Address1_City = "M",
Telephone1 = "12345678",
EMailAddress1 = "oldmail@gg.com"
};
xrm.AddObject(companyTest);
xrm.SaveChanges();
现在我不完全明白如何更改我创建的帐户中的一些信息。
所以我尝试了这个:
var companyTest = new Xrm.Account
{
Name = "Company Test1",
AccountNumber = "1",
Address1_Country = "D",
Address1_City = "M",
Telephone1 = "12345678",
EMailAddress1 = "newmail@gg.com" // change the email for instance
};
xrm.UpdateObject(companyTest);
xrm.SaveChanges();
但是在执行此操作时出现以下错误:'System.InvalidOperationException'
如何正确执行此操作?
此外,如果有人能推荐有关 DynamicsCRM SDK 的书籍或视频课程,我将不胜感激。
在您的示例中,您使用早期绑定和 XrmContext 来添加和修改帐户。
如果您已经在上下文中拥有该帐户(意味着您在创建它后立即执行更新,您只需更改 companyTest 中的值:
var companyTest = new Xrm.Account
{
Name = "Company Test1",
AccountNumber = "1",
Address1_Country = "D",
Address1_City = "M",
Telephone1 = "12345678",
EMailAddress1 = "oldmail@gg.com"
};
xrm.AddObject(companyTest);
xrm.SaveChanges();
companyTest.AccountNumber = "2";
xrm.UpdateObject(companyTest);
xrm.SaveChanges();
如果您正在更新不在上下文中的记录,则需要提供记录的 ID,如下所示:
Guid accountId = new Guid(""); // account id here
var companyTestUpdate = new Xrm.Account
{
Id = accountId,
AccountNumber = "2"
};
xrm.UpdateObject(companyTest);
xrm.SaveChanges();
如果您刚开始使用 CRM SDK 和 CRUD 操作,我建议使用后期绑定和 IOrganizationService
而不是 XrmContext
,它更容易。