[英]Using Microsoft.Xrm.Tooling to create a service and context
我现在正在更新为Dynamics 2015编写的集成程序,以支持Dynamics365。目前,它使用Microsoft.Xrm.Client dll方法创建组织服务上下文。 是否存在与Microsoft.Xrm.Tooling等效的功能,因为似乎不支持Microsoft.Xrm.Client。
var getCRMOrgService = CreateCRMOrgService(logger);
var client = CreatePosPerfectConnection(logger);
if (getCRMOrgService != null)
{
using (var ctx = new DataContext(new CrmOrganizationServiceContext(getCRMOrgService)))
{
ctx.TryAccessCache(cache => cache.Mode = OrganizationServiceCacheMode.Disabled);
/******Rest of the code******/
在这里,我需要将CreateCRMOrgService和CrmOrganizationServiceContext方法更改为单独由Microsoft.Xrm.Tooling支持的方法。
看来您想切换到CrmServiceClient
,它位于Microsoft.Xrm.Tooling.Connector
命名空间中。
获取NuGet软件包:在您的项目中,右键单击“引用”节点,然后选择“管理NuGet软件包”。 在浏览下搜索“ xrm工具”。 安装Microsoft.CrmSdk.XrmTooling.CoreAssembly,您应该一切顺利。
然后通过连接字符串创建一个CrmServiceClient
var svc = new CrmServiceClient(connectionString);
然后针对上下文(查询提供程序)执行以下操作(请注意,这是未经测试的代码):
private List<Entity> getRecords()
{
using (var context = new Microsoft.Xrm.Sdk.Client.OrganizationServiceContext(svc))
{
var result = from e in organizationServiceContext.CreateQuery("new_entity")
where e.GetAttributeValue<string>("new_field") == "my value"
select e;
return result.Take(100).ToList();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.