public IQueryable<KnowledgeViewModel> Read()
        {
            List<KnowledgeViewModel> ret = new List<KnowledgeViewModel>();
            var qry = db.KnowledgeBase;
            foreach (KnowledgeBase o in qry)
            {
                KnowledgeViewModel k = new KnowledgeViewModel();
                k.FileAddr = o.FileAddr;
                k.FileName = o.FileName;
                k.KnowledgeID = o.KnowledgeID;
                k.Version = o.Version;


                ret.Add(k);
            }
            return ret.AsQueryable();
        }
        public bool Update(KnowledgeViewModel knowledgeViewModel)
        {
            bool ret = false;
            try
            {
                KnowledgeBase k = db.KnowledgeBase.Find(knowledgeViewModel.KnowledgeID);
                k.FileAddr = knowledgeViewModel.FileAddr;
                k.FileName = knowledgeViewModel.FileName;
                //k.Version = 1;

                //db.KnowledgeBase.Add(k);
                db.SaveChanges();
                ret = true;
            }
            catch
            {
            }
            return ret;
        }
        public bool Create(KnowledgeViewModel knowledgeViewModel)
        {
            bool ret = false;
            try
            {

                KnowledgeBase k = new KnowledgeBase();

                k.KnowledgeID = db.KnowledgeBase.AsEnumerable().Select(x => x.KnowledgeID).DefaultIfEmpty(0).Max(x => x) + 1;

                k.FileAddr = knowledgeViewModel.FileAddr;
                k.FileName = knowledgeViewModel.FileName;
                k.Version = 1;

                db.KnowledgeBase.Add(k);
                db.SaveChanges();
                ret = true;
            }
            catch
            {
            }
            return ret;
        }
 public bool Delete(KnowledgeViewModel knowledgeViewModel)
 {
     bool ret = false;
     try
     {
         KnowledgeBase k = db.KnowledgeBase.Find(knowledgeViewModel.KnowledgeID);
         db.KnowledgeBase.Remove(k);
         db.SaveChanges();
         ret = true;
     }
     catch
     {
     }
     return ret;
 }