예제 #1
0
 /// <summary> 删除快捷键以及他的子节点
 /// </summary>
 /// <param name="DeleteData"></param>
 /// <returns></returns>
 public bool DeleteShortCutKey(tShortCutKey DeleteData)
 {
     if (string.IsNullOrEmpty(DeleteData.ShortCutKeyID))
     {
         return(false);
     }
     using (OfficeToolsDb db = new OfficeToolsDb())
     {
         var            tShortCutKeyIdList = db.tShortCutKey.Select(T1 => new { ID = T1.ShortCutKeyID, ParentID = T1.ParentID }).ToList(); //取出该表的所有ID和父ID
         List <dynamic> tIdList            = tShortCutKeyIdList.Select(T1 => (dynamic)T1).ToList();                                        //将匿名对象转换成Dynamic方便后面传递给递归方法
         List <string>  DeliteIdList       = GetChidrenId(tIdList, DeleteData.ShortCutKeyID);                                              //递归无限向下取所有子节点ID
         DeliteIdList.Add(DeleteData.ShortCutKeyID);                                                                                       //自己本身也要被删除
         List <tShortCutKey> DeleteEntityList = DeliteIdList.Select(T1 => new tShortCutKey()
         {
             ShortCutKeyID = T1
         }).ToList();                                                                                                        //将Dynamic集合转换为tShortCutKey方便EF删除
         #region 开始删除
         foreach (tShortCutKey Deleteitem in DeleteEntityList)
         {
             DbEntityEntry Status = db.Entry(Deleteitem);
             Status.State = EntityState.Deleted;
         }
         db.SaveChanges();
         #endregion 开始删除
     }
     return(true);
 }
예제 #2
0
        public bool UpdateShortcutKey(tShortCutKey UpdateEntity)
        {
            int ChangeLineCount = 0;

            using (OfficeToolsDb db = new OfficeToolsDb())
            {
                db.Entry <tShortCutKey>(UpdateEntity).State = EntityState.Modified;
                ChangeLineCount = db.SaveChanges();
            }
            return(0 < ChangeLineCount);
        }