如何在导入时注册插件?
有消息“导入”和“全部导入”。它们是如何使用的?
我想在导入特定实体后创建一条记录。
我尝试使用“导入”,但我不知道是什么context.InputParameters["Target"]
。导入 CSV 时插件没有触发。
如何在导入时注册插件?
有消息“导入”和“全部导入”。它们是如何使用的?
我想在导入特定实体后创建一条记录。
我尝试使用“导入”,但我不知道是什么context.InputParameters["Target"]
。导入 CSV 时插件没有触发。
Import 正在创建/更新实体,因此您应该能够根据 Create 和 Update 消息触发插件
您可以使用更新和创建消息。现在,我了解到您希望将执行限制为单个(也是最后一个)实例。技术上,做不到。每个更新和创建都会单独调用插件。
但是,有解决方法。并不为此感到自豪,但是是的,我做到了。一次。
public void Execute(...)
{
Entity entity = context.InputParameters["Target"] as Entity;
bool isTheLast = entity["someField"] == "Viltersten is Godlike";
if(!isTheLast)
return;
}
这可以缩短,在一行中完成。我只是想成为教学法。另外,我没有检查确切的语法,但你明白了。使您导入的最后一个东西命名为独特的东西。然后,让插件随心所欲地触发。只有一个实例可以通过。
如果您无法控制导入顺序,这将是 FUBAR。
就我而言,我做不到。我的解决方案是引入一个名为Controller的新实体。在所有导入之后,我创建了它的一个新实例。在那里,我确实执行了其他实体所需的所有操作。
吹牛?几乎不。可行吗?是的。