2017-08-17 13 views
0

私はAPIを介してダイナミックモジュールにレコードを追加しています。実験中に、有効な親レコードに正しく関連付けられていないレコードを追加しました。Sitefinity - 孤立した動的コンテンツレコードを安全に削除する

私がチェックしたとこれまでのところ、私はテーブルの数にこれらのレコードについてそのSitefinityの店舗データを見ることができます:

  1. mydynamiccontenttype_table
  2. sf_dynamic_content
  3. sf_dynmc_cntnt_sf_lnguage_data
  4. sf_dynmc_cntent_sf_permissions

これらのレコードを削除してデータベースをクリーンアップしたいのですが、プロセスでさらに問題が生じないようにしたいのですが。

これらの動的コンテンツタイプのレコードへの参照があるかどうか、またはそれらを安全に削除するプロセスは誰でも知っていますか?

答えて

1

恐らく他のテーブルがあるので、最も安全なオプションはSitefinity APIを使用してアイテムを削除することです。

ただ、アイテムのmasterIdを取得し、このようなコードを使用します

public static void DeleteDataItemOfType(this DynamicModuleManager manager, string type, Guid Id) 
    { 
     Type resolvedType = TypeResolutionService.ResolveType(type); 

     using (var region = new ElevatedModeRegion(manager)) 
     { 
      manager.DeleteDataItem(resolvedType, Id); 

      manager.SaveChanges(); 
     } 
    }