我正在阅读一些写得很糟糕的代码,而我的大脑刚刚关闭,主要是因为沮丧,所以问题可能很简单。
我在插件中,我需要创建一个实体 Blobb 的新实例。鉴于我已完成查询表达式,我该如何执行它?我是否必须创建 OrganizationServiceProxy 对象,还是可以使用发送到执行方法的 IServiceProvider 实例?我正在使用它来获取上下文(即 IPluginExecutionContext 类型对象)但我找不到带有执行查询表达式的方法的服务。
答案 0 :(得分:1)
我认为你正在寻找这个。您可以使用LocalPluginContext
public class OrgPlugin: Plugin
{
public OrgPlugin()
: base(typeof(OrgPlugin))
{
base.RegisteredEvents.Add(new Tuple<int, string, string, Action<LocalPluginContext>>(20, "Create", "account", new Action<LocalPluginContext>(ExecuteOrgPlugin)));
}
protected void ExecuteOrgPlugin(LocalPluginContext localContext)
{
Blobb blobb = new Blobb();
blobb["new_name"] = "abc";
// Other attributes here
localContext.OrganizationService.Execute(blobb);
}
}
修改强>
您可以从OrganizationService
localContext.OrganizationService
IOrganizationService service = localContext.OrganizationService;
答案 1 :(得分:1)
看看我对基本插件样本的类似问题的回答。