LLBL と関連エンティティの削除に関するちょっとしたヘルプを探しています。現在、共通のコード ベースを作成中であり、現在のデータ アクセス レイヤーの依存関係を減らしたいと考えています。そうすることで、一般的にエンティティとエンティティ コレクションを取得し、IEntityCollection/IEntity を使用してそれらを変更/削除/作成する方法を見つけようとしています。
以下は機能しますが、これを行うためのより良い方法があるかどうか疑問に思っていましたか? たくさんのドキュメントや例を見つけることができなかったようです。
これは私がこれまでに持っているものです:
public static bool DeleteAllRelations(IEntity entity)
{
var rList = entity.GetMemberEntityCollections();
if (rList.Count == 0)
return false;
try
{
foreach (var ent in rList)
{
ent.DeleteMulti();
}
return true;
}
catch(Exception ex)
{
return false;
}
}
コードは次のように呼び出されます。
var cBEntity = new ContentBlockEntity(cBlockId);
if (EntityUtilities.DeleteAllRelations(cBEntity))
{
// Related Entities Deleted
cBEntity.Delete();
// Redirect To Admin List
Response.Redirect("~/Admin/ContentVersionList.aspx?id=" + siteMapId,true);
}
DisplayError("Some Error Message Concerning Delete");