使用 Microsoft.Xrm.Tooling 创建服务和上下文
Using Microsoft.Xrm.Tooling to create a service and context
我现在正在更新为 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 包:
在您的项目中,右键单击 References 节点和 select Manage NuGet Packages。在浏览下搜索 "xrm tooling"。安装 Microsoft.CrmSdk.XrmTooling.CoreAssembly 就可以了。
然后通过 connection string
创建一个 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();
}
}
我现在正在更新为 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 包: 在您的项目中,右键单击 References 节点和 select Manage NuGet Packages。在浏览下搜索 "xrm tooling"。安装 Microsoft.CrmSdk.XrmTooling.CoreAssembly 就可以了。
然后通过 connection string
创建一个 CrmServiceClientvar 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();
}
}