Plugins 如何在我的插件-CRM 2011上使用OrganizationServiceProxy?

Plugins 如何在我的插件-CRM 2011上使用OrganizationServiceProxy?,plugins,dynamics-crm-2011,fetchxml,Plugins,Dynamics Crm 2011,Fetchxml,我需要在CRM插件中使用fetch xml,我在这里找到了一个如何实现这一点的示例: string groupby1=@” "; EntityCollection groupby1_result=orgProxy.RetrieveMultiple(新的FetchExpression(groupby1)); 但是还有一些东西我不知道如何使用,或者在哪里使用。。这部分说: orgProxy.RetrieveMultiple(new FetchExpression(groupby1)); 我知道它

我需要在CRM插件中使用fetch xml,我在这里找到了一个如何实现这一点的示例:

string groupby1=@”
";
EntityCollection groupby1_result=orgProxy.RetrieveMultiple(新的FetchExpression(groupby1));
但是还有一些东西我不知道如何使用,或者在哪里使用。。这部分说:

orgProxy.RetrieveMultiple(new FetchExpression(groupby1));

我知道它是OrganizationServiceProxy的对象,但它在插件类中的什么位置?我找不到。

尽可能礼貌地说,你可能需要后退几步才能前进

因此,要编写插件,您需要实现
IPlugin
,它只有一种方法

public void Execute(IServiceProvider serviceProvider)
IServiceProvider
是您了解CRM的窗口,也是您正在连接的事件的上下文

通常,您会执行以下操作:

var context = (IPluginExecutionContext) serviceProvider.GetService(typeof (IPluginExecutionContext));
var factory = (IOrganizationServiceFactory) serviceProvider.GetService(typeof (IOrganizationServiceFactory));
var service = factory.CreateOrganizationService(context.UserId);
在上面的示例中,
服务
属于
IOR组织服务
类型。这将为您提供您所期望的所有方法

service.Execute(foo);
service.RetrieveMultiple(bar);
service.Update(... /* etc

也许值得回顾一下这方面的一些指南——正如我在前面的回答中以尽可能礼貌的方式给出的那样,您可能需要后退几步才能继续前进

因此,要编写插件,您需要实现
IPlugin
,它只有一种方法

public void Execute(IServiceProvider serviceProvider)
IServiceProvider
是您了解CRM的窗口,也是您正在连接的事件的上下文

通常,您会执行以下操作:

var context = (IPluginExecutionContext) serviceProvider.GetService(typeof (IPluginExecutionContext));
var factory = (IOrganizationServiceFactory) serviceProvider.GetService(typeof (IOrganizationServiceFactory));
var service = factory.CreateOrganizationService(context.UserId);
在上面的示例中,
服务
属于
IOR组织服务
类型。这将为您提供您所期望的所有方法

service.Execute(foo);
service.RetrieveMultiple(bar);
service.Update(... /* etc

也许值得回顾一下这方面的一些指南——正如我在前面的回答中所给出的那样

glosrob有正确的答案。我有一篇关于我使用的类的帖子,以避免对每个插件重复“管道”。请参阅:+1,了解告诉某人他刚刚离开的最礼貌的方式。:)glosrob有正确的答案。我有一篇关于我使用的类的帖子,以避免对每个插件重复“管道”。请参阅:+1,了解告诉某人他刚刚离开的最礼貌的方式。:)