Gre*_*Oks 0 service entities web-reference dynamics-crm dynamics-crm-2011
在 CRM 4 中,我曾经在 CRMService.asmx 的 Visual Studio 项目中添加 Web 引用,它会给我带来所有实体(包括自定义实体)和所有服务。
现在我已经转移到 CRM 2011 并且我真的不完全理解它是如何在这里工作的......所有实体(包括自定义实体)的类,但没有服务..那么我如何在 CRM 2011 中使用 organization.svc?我是否只需要使用 crmSvcUtil 或将其与 organization.svc 的 Web 参考结合使用?
在 CRM 2011 中,您不会像在 CRM 4 中那样添加对 Web 服务的引用。如果您想要早期绑定实体类,则必须使用 crmsvcutil.exe 生成它。如果您打算使用 LINQ 来查询您的 CRM 数据,则添加 /serviceContextName:contextname 并且将在代码文件中生成 OrganizationServiceContext。
如果您不关心早期绑定的实体类,那么您可以使用实体类。在 2011 年,您使用了 CRM 4 中称为 DynamicEntity 的实体类。
为了使用 CRM 2011 执行任何操作,您必须向项目添加一些引用,您将在包含 sdk 的 bin 文件夹中找到它们。
您将始终添加对 Microsoft.Xrm.Sdk 的引用。如果您将使用早期绑定,则还需要对 Microsoft.Crm.Sdk.Proxy 的引用。从标准的 .Net 库中,您必须添加对 System.ServiceModel 和 System.Runtime.Serialization 的引用
要连接到 CRM 2011,您将使用 OrganizationServiceProxy。
var organizationUri = new Uri("http://<servername>/<organizationname>/XRMServices/2011/Organization.svc");
var credentials = new ClientCredentials();
var serviceProxy = new OrganizationServiceProxy(organizationUri, null, credentials, null);
// If you use early bound entity classes, you have to include the line below. Not needed on late bound
serviceProxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());
Run Code Online (Sandbox Code Playgroud)
然后通过使用已经创建的服务代理,我可以开始使用 CRM 数据。创建帐户:
var account = new Account();
account.Name = "Testing";
serviceProxy.Create(account);
Run Code Online (Sandbox Code Playgroud)
一些进一步阅读的链接:
| 归档时间: |
|
| 查看次数: |
5506 次 |
| 最近记录: |