SPListItem.CopyとSPListItem.CopyToは、ターゲットリストが元のアイテムと同じSPWeb上にある場合にのみ機能すると思います。これらのリストアイテムには、他のリストアイテムと区別するだけでなく、すべてのサブサイトとトップレベルサイトで常に同じである「ID」フィールドがあると想定しています(100ではないIDとは異なります)。 %あなたの管理下にあります)。タイトル、プログラムで割り当てられた番号、何でもかまいません。これを単に「ID」フィールドと呼びます。
私はあなたがイベントハンドラーを知っていると仮定しています。そうでない場合は、ここですべてのコア概念を説明する非常に基本的な例を見ることができます。
削除は最も扱いやすい方法です。サブサイトを反復処理し、正しい「ID」フィールドを持つアイテムのマスターリストを反復処理して、SPListItem.Delete()を呼び出します。これは、ItemDeletingイベントを発生させるのに十分なはずです。
追加は少し難しいです。もう一度サブサイトを繰り返し処理しますが、今回は次のような方法を使用します。
SPListItem target = list.Items.Add();
target["Title"] = properties.AfterProperties["Title"];
//Repeat similar assignments for all fields in the list item which can be assigned during creation.
target.Update();
これは、変更可能なすべてのフィールドと、まだ含めていない場合は「ID」フィールドを含めるように変更する必要があります。自動的に割り当てられるものについて心配する必要はありません(Copy / CopyToが機能していれば、SharePointはとにかくそれらを処理します)。ItemAddedイベントに入れます。
最後に、アイテムの更新はアイテムの追加と非常に似ていますが、list.Items.Add()を呼び出す代わりに、マスターリストを反復処理して正しい「ID」フィールドを持つアイテムを取得することで正しいアイテムを取得します。ItemUpdatedイベントに入れます。
マスターリストのサブサイトのアクセス許可がトップレベルのサイトのアクセス許可と同じであることを確認することをお勧めします。これがあなたのために働くことを願っています!