0
すべての子供がいるrootを削除できません... このコードは間違っていますが、解決策を見つけることができません。 子どもと一緒にrootを削除する方法 - Entity Framework
id - 私が削除したいと思う著しいルートです。
public void RemoveLeaf(int id)
{
using (var context = new TreeDBtestEntities())
{
using(var dbContextTransaction = context.Database.BeginTransaction())
{
try
{
var root = context.DynamicTrees.Where(x => x.Id == id).FirstOrDefault();
int? idLeaf = root.Id;
while (idLeaf != null)
{
context.DynamicTrees.RemoveRange(context.DynamicTrees.Where(x => x.Id == id));
var result = context.DynamicTrees.Where(x => x.ParentId == idLeaf).FirstOrDefault();
if (result != null)
RemoveLeaf(result.Id);
idLeaf = null;
context.SaveChanges();
}
dbContextTransaction.Commit();
}
catch
{
dbContextTransaction.Rollback();
}
}
}
}
すべての子供を含む親を削除します。このコードは、親と一部の子のみを削除します。
私を助けることができますか?
でこれを扱うことができると考えていますか?期待されるものは何ですか?実際の行動は何ですか? – Sentry
すべての子を持つ親を削除します。このコードは、親と一部の子のみを削除します。 – Duzy