mvc學(xué)習(xí)

  • 判斷記住密碼的時候用的是cookie還是session
 if ( userManager.Login(model.Email, model.LoginPwd,out  userid))
                {
                    //跳轉(zhuǎn)
                    //記住密碼的時候判斷是用session還是用cookie
                    if (model.RememberMe)
                    {
                        Response.Cookies.Add(new HttpCookie("loginName")
                        {
                            Value = model.Email,
                            Expires = DateTime.Now.AddDays(7)
                        });
                        Response.Cookies.Add(new HttpCookie("userId")
                        {
                            Value = userid.ToString(),
                            Expires = DateTime.Now.AddDays(7)
                        });
                    }
                    else
                    {
                        Session["loginName"] = model.Email;
                        Session["userId"] = userid;
                    }
  • DbContext
 /// <summary>
        /// 上下文
        /// </summary>
        private readonly BlogContext _db;
        public BaseService(Models.BlogContext db)
        {
            this._db = db;
        }
  • CreateAsync:增
public async Task CreateAsync(T model, bool saved = true)
        {
            _db.Set<T>().Add(model);
            if (saved) await _db.SaveChangesAsync();
        }
  • EditAsync :改
/// <summary>
        /// _db.Configuration.ValidateOnSaveEnabled = false;關(guān)閉ef的自動檢查
        /// _db.Entry(model).State = EntityState.Modified;把他的狀態(tài)改成可修改的
        ///  if (saved)
        ///{
        ///      await _db.SaveChangesAsync();
        ///      _db.Configuration.ValidateOnSaveEnabled = true;
        ///}
        ///修改,并且保存
        /// </summary>
        /// <param name="model"></param>
        /// <param name="saved"></param>
        /// <returns></returns>
        public async Task EditAsync(T model, bool saved = true)
        {
            _db.Configuration.ValidateOnSaveEnabled = false;
            _db.Entry(model).State = EntityState.Modified;
            if (saved)
            {
                await _db.SaveChangesAsync();
                _db.Configuration.ValidateOnSaveEnabled = true;
            }

        }
  • Get :查
/// <summary>
        /// return _db.Set<T>().Where(m => !m.IsRemoved).AsNoTracking();這是返回所有的未被刪除的數(shù)據(jù)(沒有真的執(zhí)行)
        /// </summary>
        /// <returns></returns>
        public IQueryable<T> GetAllAsync()
        {
            return _db.Set<T>().Where(m => !m.IsRemoved).AsNoTracking();
        }

        /// <summary>
        /// return GetAllAsync().Skip(pageSize * pageIndex).Take(pageSize);刨除了pageSize * pageIndex個數(shù)據(jù),剩余數(shù)據(jù)取前pageSize個
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public IQueryable<T> GetAllByPageAsync(int pageSize = 10, int pageIndex = 0)
        {
            return GetAllAsync().Skip(pageSize * pageIndex).Take(pageSize);
        }

        public IQueryable<T> GetAllByPageOrderAsync(int pageSize = 10, int pageIndex = 0, bool asc = true)
        {
            return GetAllOrderAsync(asc).Skip(pageSize * pageIndex).Take(pageSize);
        }


        public IQueryable<T> GetAllOrderAsync(bool asc = true)
        {
            var datas = GetAllAsync();
            if (asc)
            {
                datas = datas.OrderBy(m => m.CreateTime);
            }

            else
            {
                datas = datas.OrderByDescending(m => m.CreateTime);
            }

            return datas;
        }

        /// <summary>
        /// 得到數(shù)據(jù)一定是異步的
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task<T> GetOneAsyncAsync(Guid id)
        {
            return await GetAllAsync().FirstAsync(m => m.Id == id);
        }

        public async Task RemoveAsync(Guid id, bool saved = true)
        {
            _db.Configuration.ValidateOnSaveEnabled = false;
            var t = new T() { Id = id };
            _db.Entry(t).State = EntityState.Unchanged;
            t.IsRemoved = true;
            if (saved)
            {
                await _db.SaveChangesAsync();
                _db.Configuration.ValidateOnSaveEnabled = true;
            }
        }
  • RemoveAsync : 刪
 public async Task RemoveAsync(T model, bool saved = true)
        {
            await RemoveAsync(model.Id, saved);
        }

-Save: 存

 public async Task Save()
        {
            await _db.SaveChangesAsync();
            _db.Configuration.ValidateOnSaveEnabled = true;
        }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容