2

プラグインをインポートに登録するにはどうすればよいですか?
「インポート」と「すべてインポート」というメッセージがあります。それらはどのように使用されますか?

特定のエンティティへのインポート後に単一のレコードを作成したいと考えています。
「インポート」を使用しようとしましたが、何なのかわかりませんcontext.InputParameters["Target"]。CSV をインポートしたときにプラグインが起動しませんでした。

4

2 に答える 2

4

インポートはエンティティを作成/更新しているため、作成および更新メッセージに基づいてプラグインを起動できるはずです

于 2013-02-04T18:59:41.520 に答える
1

UpdateおよびCreateメッセージを使用できます。さて、実行を 1 つの (そして最後の) インスタンスに限定したいというご要望を承りました。技術的には、できません。各更新作成は、プラグインを個別に呼び出します。

しかし、回避策があります。それを誇りに思っていませんが、はい、私はそれをやった. 一度。

public void Execute(...)
{
  Entity entity = context.InputParameters["Target"] as Entity;
  bool isTheLast = entity["someField"] == "Viltersten is Godlike";
  if(!isTheLast)
    return;
}

これを 1 行で実行すると、短くすることができます。私はただ教育的になろうとしているだけです。また、正確な構文は確認していませんが、要点はわかります。最後にインポートしたものに固有の名前を付けます。次に、プラグインに必要なすべてを起動させます。通過できるインスタンスは 1 つだけです。

インポートの順序を制御できない場合、これは FUBAR になります。

私の場合、できませんでした。それに対する私の解決策は、 Controllerと呼ばれる新しいエンティティを導入することでした。すべてのインポートの後、その新しいインスタンスを作成しました。そこでは、他のエンティティに必要なすべての操作を実行しました。

自慢できる?しそうにない。実行可能ですか?はい。

于 2013-02-05T21:06:52.120 に答える