检索相关实体时出现异常

时间:2014-05-25 21:35:16

标签: dynamics-crm-2011

从CRM获取相关实体时遇到问题。

以下代码:

var conn = CrmConnection.Parse("my connection string");
var orgService = new OrganizationService(conn);
var context = new MyServiceContext(orgService);

...
var myEntity = context.CreateQuery<new_myentity>().First(p => p.new_name == "some name");
myEntity.GetRelatedEntities(context, "relation name").ToList();

在最后一行中抛出以下异常:

  

值'Microsoft.Xrm.Client.Configuration.CrmConfigurationProvider,Microsoft.Xrm.Client'未被识别为有效类型或不属于'Microsoft.Xrm.Client.Configuration.CrmConfigurationProvider'类型。

2 个答案:

答案 0 :(得分:0)

尝试一下......我无法测试,因为我在这台计算机上没有早期绑定的类DLL,但我认为这可能会成功。请告诉我。

CrmConnection connection = CrmConnection.Parse("my connection string");
 
var proxy = new Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy(
connection.ServiceUri,
connection.HomeRealmUri,
connection.ClientCredentials,
connection.DeviceCredentials);
 
proxy.EnableProxyTypes();

IOrganizationService service = (IOrganizationService)proxy; 
var context = new CrmOrganizationServiceContext(service);   

var myEntity = context.CreateQuery<Entity>().First(p => p.new_name == "some name");
myEntity.GetRelatedEntities(context, "relation name").ToList();

答案 1 :(得分:0)

当使用CRM SDK从SSIS自定义组件中获取相关实体时,我遇到了同样的问题。

如果未在VS的microsoft.xrm.client程序集中引用程序集的属性中将“Copy Local”设置为true,也可以从控制台应用程序中获取此错误。

对于SSIS,要解决该错误,您需要将microsoft.xrm.client程序集复制到: {DriveLetter}:\ Program Files \ Microsoft SQL Server \ 110 \ DTS \ Binn目录(或{DriveLetter}:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ DTS \ Binn,如果适用)。