public ActionResult ModuleDelete(int moduleID) { var module = new Module().Find(moduleID.ToString()); if (module.Level == 3) { module.PostDelete(); } else if (module.Level == 2) { using (Context ctx = new Context()) ctx.Module.Where(c => c.ParentID == moduleID).Delete(); //ctx.Delete<U_Module>() // .WhereSet(c => c.ParentID, WhereOperator.Equal, moduleID) // .End() // module.PostDelete(); } else if (module.Level == 1) { var chidren = new Module().FindAll(c => c.ParentID == moduleID); using (Context ctx = new Context()) { if (chidren != null && chidren.Count > 0) { foreach (var second in chidren) { ctx.Module.Where(c => c.ParentID == second.ID).Delete(); //ctx.Delete<U_Module>() // .WhereSet(c => c.ParentID, WhereOperator.Equal, second.ID) // .End() // .Excute(); } } ctx.Module.Where(c => c.ParentID == moduleID).Delete(); //ctx.Delete<U_Module>() // .WhereSet(c => c.ParentID, WhereOperator.Equal, moduleID) // .End() // .Excute(); module.PostDelete(); } } return Content("1"); }