繁体   English   中英

使用Microsoft.Xrm.Tooling创建服务和上下文

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM