![](/img/trans.png)
[英]How do I associate an account to a contact using C#/SDK in Microsoft Dynamics/CRM?
[英]Update Account using Dynamics CRM 2011 SDK and C#
我正在使用Dynamics CRM 2011 C#SDK从本地DynamicsCRM 2011写入和读取数据。
我目前正在从https://msdn.microsoft.com/zh-cn/library/gg695803%28v=crm.5%29.aspx开始使用此基本示例
因此,创建新的客户或联系人并将其写入动态似乎没有问题,并且可以这样工作:
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的书籍或视频课程,我将不胜感激。
在示例中,您使用的是Early bound和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
,这会更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.