c# - 使用 Microsoft.Xrm.Tooling 创建服务和上下文
问题描述
我现在正在更新为 Dynamics 2015 编写的集成程序以支持 Dynamics 365。目前它使用 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 tooling”。安装 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();
}
}
推荐阅读
- android - 从后台服务中检索手机信号塔信息
- javascript - Braintree 集成 - 无法在服务器端代码中访问 javascript nonce
- sql - 得到以下查询的错误答案
- git - 如何避免在git中合并狐步
- macos - 在 Mac 上将“/usr/lib”添加到 clang 链接器搜索路径中
- mysql - 无法使用 R 将 R 数据帧写入 mysql 表
- javascript - 如何检查是否是DataTable的最后一页?
- neural-network - 创建一个 3 层神经网络,使权重矩阵正交?
- ruby-on-rails - 如何在 Linux+Apache 环境下安装 Easy Redmine?
- docusignapi - 是否有通过 API 调用签署文档的规定