成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > ASP.NET MVC5網(wǎng)站開發(fā)之實現(xiàn)數(shù)據(jù)存儲層功能(三)

ASP.NET MVC5網(wǎng)站開發(fā)之實現(xiàn)數(shù)據(jù)存儲層功能(三)

熱門標(biāo)簽:地圖標(biāo)注位置怎么弄圖 電銷專用外呼線路 電銷外呼系統(tǒng)是違法的嗎 廣西房產(chǎn)智能外呼系統(tǒng)推薦 威力最大的電銷機器人 400電話唐山辦理 電話機器人鑰匙扣 漯河外呼調(diào)研線路 旅游地圖標(biāo)注線路

數(shù)據(jù)存儲層在項目Ninesky.DataLibrary中實現(xiàn),整個項目只有一個類Repository。

Repository中實現(xiàn)增刪改查詢等方法供業(yè)務(wù)邏輯層調(diào)用,主要功能如下圖:

具體步驟

一、添加實體框架的引用

1、打開解決方案,選擇項目Ninesky.DataLibrary,在引用上右鍵,選擇管理NuGet程序包。

在NuGet包管理器中的瀏覽標(biāo)簽中點擊EntityFramework,點擊右側(cè)欄的安裝按鈕。

在搜索框輸入EntityFramework.zh-Hans,安裝假體中文資源包。

二、實現(xiàn)數(shù)據(jù)倉儲類

打開解決方案,選擇項目Ninesky.DataLibrary,將Class1.cs重命名為Repository.cs,在文檔頭添加using System.Data.Entity;將類名重命名為public class Repository。改為public class RepositoryT> where T :class

1、DbContext屬性

在Repository類中添加如下代碼 public DbContext DbContext { get; set; }

2、構(gòu)造函數(shù)

為類中添加夠高函數(shù),可以直接傳遞DbContex。

public Repository()
    { }
    public Repository(DbContext dbContext)
    {
      DbContext = dbContext;
    } 

3、查找實體方法Find

Find有一個重載。兩個方法分別可以根據(jù)ID和根據(jù)lamdba表達式查找實體。

/// summary>
    /// 查找實體
    /// /summary>
    /// param name="ID">實體主鍵值/param>
    /// returns>/returns>
    public T Find(int ID)
    {
      return DbContext.SetT>().Find(ID);
    }

    /// summary>
    /// 查找實體
    /// /summary>
    /// param name="where">查詢Lambda表達式/param>
    /// returns>/returns>
    public T Find(ExpressionFuncT,bool>> where)
    {
      return DbContext.SetT>().SingleOrDefault(where);
    }

4、查找實體列表方法FindList

根據(jù)需要FindList進行多次重載

/// summary>
    /// 查找實體列表
    /// /summary>
    /// returns>/returns>
    public IQueryableT> FindList()
    {
      return DbContext.SetT>();
    }

    /// summary>
    /// 查找實體列表
    /// /summary>
    /// typeparam name="TKey">排序建類型/typeparam>
    /// param name="order">排序表達式/param>
    /// param name="asc">是否正序/param>
    /// returns>/returns>
    public IQueryableT> FindListTKey>(ExpressionFuncT, TKey>> order, bool asc)
    {
      return asc ? DbContext.SetT>().OrderBy(order) : DbContext.SetT>().OrderByDescending(order);
    }

    /// summary>
    /// 查找實體列表
    /// /summary>
    /// typeparam name="TKey">排序鍵類型/typeparam>
    /// param name="order">排序鍵/param>
    /// param name="asc">是否正序/param>
    /// param name="number">獲取的記錄數(shù)量/param>
    /// returns>/returns>
    public IQueryableT> FindListTKey>(ExpressionFuncT, TKey>> order, bool asc,int number)
    {
      return asc ? DbContext.SetT>().OrderBy(order).Take(number) : DbContext.SetT>().OrderByDescending(order).Take(number);
    }

    /// summary>
    /// 查找實體列表
    /// /summary>
    /// param name="where">查詢Lambda表達式/param>
    /// returns>/returns>
    public IQueryableT> FindList(ExpressionFuncT, bool>> where)
    {
      return DbContext.SetT>().Where(where);
    }

    /// summary>
    /// 查找實體列表
    /// /summary>
    /// param name="where">查詢Lambda表達式/param>
    /// param name="number">獲取的記錄數(shù)量/param>
    /// returns>/returns>
    public IQueryableT> FindList(ExpressionFuncT, bool>> where, int number)
    {
      return DbContext.SetT>().Where(where).Take(number);
    }

    /// summary>
    /// 查找實體列表
    /// /summary>
    /// typeparam name="TKey">排序鍵類型/typeparam>
    /// param name="where">查詢Lambda表達式/param>
    /// param name="order">排序鍵/param>
    /// param name="asc">是否正序/param>
    /// returns>/returns>
    public IQueryableT> FindListTKey>(ExpressionFuncT, bool>> where, ExpressionFuncT, TKey>> order, bool asc)
    {
      return asc ? DbContext.SetT>().Where(where).OrderBy(order) : DbContext.SetT>().Where(where).OrderByDescending(order);
    }

    /// summary>
    /// 查找實體列表
    /// /summary>
    /// typeparam name="TKey">排序鍵類型/typeparam>
    /// param name="where">查詢Lambda表達式/param>
    /// param name="order">排序鍵/param>
    /// param name="asc">是否正序/param>
    /// param name="number">獲取的記錄數(shù)量/param>
    /// returns>/returns>
    public IQueryableT> FindListTKey>(ExpressionFuncT, bool>> where, ExpressionFuncT, TKey>> order, bool asc, int number)
    {
      return asc ? DbContext.SetT>().Where(where).OrderBy(order).Take(number) : DbContext.SetT>().Where(where).OrderByDescending(order).Take(number);
    }

5、查找實體分頁列表方法FindPageList

根據(jù)需要FindPageList進行多次重載

/// summary>
    /// 查找分頁列表
    /// /summary>
    /// param name="pageSize">每頁記錄數(shù)。必須大于1/param>
    /// param name="pageIndex">頁碼。首頁從1開始,頁碼必須大于1/param>
    /// param name="totalNumber">總記錄數(shù)/param>
    /// returns>/returns>
    public IQueryableT> FindPageList(int pageSize, int pageIndex, out int totalNumber)
    {
      if (pageIndex  1) pageIndex = 1;
      if (pageSize  1) pageSize = 10;
      IQueryableT> _list = DbContext.SetT>();
      totalNumber = _list.Count();
      return _list.Skip((pageIndex - 1) * pageIndex).Take(pageSize);
    }

    /// summary>
    /// 查找分頁列表
    /// /summary>
    /// param name="pageSize">每頁記錄數(shù)。必須大于1/param>
    /// param name="pageIndex">頁碼。首頁從1開始,頁碼必須大于1/param>
    /// param name="totalNumber">總記錄數(shù)/param>
    /// param name="order">排序鍵/param>
    /// param name="asc">是否正序/param>
    /// returns>/returns>
    public IQueryableT> FindPageListTKey>(int pageSize, int pageIndex, out int totalNumber, ExpressionFuncT, TKey>> order, bool asc)
    {
      if (pageIndex  1) pageIndex = 1;
      if (pageSize  1) pageSize = 10;
      IQueryableT> _list = DbContext.SetT>();
      _list = asc ? _list.OrderBy(order) : _list.OrderByDescending(order);
      totalNumber = _list.Count();
      return _list.Skip((pageIndex - 1) * pageIndex).Take(pageSize);
    }

    /// summary>
    /// 查找分頁列表
    /// /summary>
    /// param name="pageSize">每頁記錄數(shù)。必須大于1/param>
    /// param name="pageIndex">頁碼。首頁從1開始,頁碼必須大于1/param>
    /// param name="totalNumber">總記錄數(shù)/param>
    /// param name="where">查詢表達式/param>
    public IQueryableT> FindPageList(int pageSize, int pageIndex, out int totalNumber, ExpressionFuncT, bool>> where)
    {
      if (pageIndex  1) pageIndex = 1;
      if (pageSize  1) pageSize = 10;
      IQueryableT> _list = DbContext.SetT>().Where(where);
      totalNumber = _list.Count();
      return _list.Skip((pageIndex - 1) * pageIndex).Take(pageSize);
    }

    /// summary>
    /// 查找分頁列表
    /// /summary>
    /// param name="pageSize">每頁記錄數(shù)。必須大于1/param>
    /// param name="pageIndex">頁碼。首頁從1開始,頁碼必須大于1/param>
    /// param name="totalNumber">總記錄數(shù)/param>
    /// param name="where">查詢表達式/param>
    /// param name="order">排序鍵/param>
    /// param name="asc">是否正序/param>
    public IQueryableT> FindPageListTKey>(int pageSize, int pageIndex, out int totalNumber, ExpressionFuncT, bool>> where, ExpressionFuncT, TKey>> order, bool asc)
    {
      if (pageIndex  1) pageIndex = 1;
      if (pageSize  1) pageSize = 10;
      IQueryableT> _list = DbContext.SetT>().Where(where);
      _list = asc ? _list.OrderBy(order) : _list.OrderByDescending(order);
      totalNumber = _list.Count();
      return _list.Skip((pageIndex - 1) * pageIndex).Take(pageSize);
    }

6、添加實體方法Add

Add 方法有一個重載,重載方法可以選擇是否立即保存

/// summary>
    /// 添加實體
    /// /summary>
    /// param name="entity">實體/param>
    /// returns>受影響的對象的數(shù)目/returns>
    public int Add(T entity)
    {
      return Add(entity, true);
    }

    /// summary>
    /// 添加實體
    /// /summary>
    /// param name="entity">實體/param>
    /// param name="isSave">是否立即保存/param>
    /// returns>在“isSave”為True時返回受影響的對象的數(shù)目,為False時直接返回0/returns>
    public int Add(T entity,bool isSave)
    {
      DbContext.SetT>().Add(entity);
      return isSave ? DbContext.SaveChanges() : 0;
    }

7、更新實體方法Update

Updae 方法有一個重載,重載方法可以選擇是否立即保存

#region Update

    /// summary>
    /// 更新實體【立即保存】
    /// /summary>
    /// param name="entity">實體/param>
    /// returns>在“isSave”為True時返回受影響的對象的數(shù)目,為False時直接返回0/returns>
    public int Update(T entity)
    {
      return Update(entity, true);
    }

    /// summary>
    /// 更新實體
    /// /summary>
    /// param name="entity">實體/param>
    /// param name="isSave">是否立即保存/param>
    /// returns>在“isSave”為True時返回受影響的對象的數(shù)目,為False時直接返回0/returns>
    public int Update(T entity, bool isSave)
    {
      DbContext.SetT>().Attach(entity);
      DbContext.EntryT>(entity).State = EntityState.Modified;
      return isSave ? DbContext.SaveChanges() : 0;
    }

8、刪除實體方法Delete

Delete 方法有兩個重載,一個是可以選擇否立即保存,另一個是批量刪除

/// summary>
    /// 刪除實體【立即保存】
    /// /summary>
    /// param name="entity">實體/param>
    /// returns>受影響的對象的數(shù)目/returns>
    public int Delete(T entity)
    {
      return Delete(entity, true);
    }

    /// summary>
    /// 刪除實體
    /// /summary>
    /// param name="entity">實體/param>
    /// param name="isSave">是否立即保存/param>
    /// returns>在“isSave”為True時返回受影響的對象的數(shù)目,為False時直接返回0/returns>
    public int Delete(T entity,bool isSave)
    {
      DbContext.SetT>().Remove(entity);
      return isSave ? DbContext.SaveChanges() : 0;
    }

    /// summary>
    /// 批量刪除實體
    /// /summary>
    /// param name="entities">實體集合/param>
    /// returns>受影響的對象的數(shù)目/returns>
    public int Delete(IEnumerableT> entities)
    {
      DbContext.SetT>().RemoveRange(entities);
      return DbContext.SaveChanges();
    }

9、統(tǒng)計記錄數(shù)方法Count

Count 方法有一個重載,可以根據(jù)表達式進行統(tǒng)計

/// summary>
    /// 記錄數(shù)
    /// /summary>
    /// returns>/returns>
    public int Count()
    {
      return DbContext.SetT>().Count();
    }

    /// summary>
    /// 記錄數(shù)
    /// /summary>
    /// param name="predicate">表達式/param>
    /// returns>/returns>
    public int Count(ExpressionFuncT, bool>> predicate)
    {
      return DbContext.SetT>().Count(predicate);
    }

10、是否存在

/// summary>
    /// 記錄是否存在
    /// /summary>
    /// param name="predicate">表達式/param>
    /// returns>/returns>
    public bool IsContains(ExpressionFuncT, bool>> predicate)
    {
      return Count(predicate) > 0;
    }

11、保存到數(shù)據(jù)庫

/// summary>
    /// 保存數(shù)據(jù)【在Add、Upate、Delete未立即保存的情況下使用】
    /// /summary>
    /// returns>受影響的記錄數(shù)/returns>
    public int Save()
    {
      return DbContext.SaveChanges();
    }

您可能感興趣的文章:
  • IIS7/IIS7.5/IIS8網(wǎng)站目錄執(zhí)行權(quán)限設(shè)置方法(與IIS6不同)
  • Win2008 R2中IIS7.5配置完網(wǎng)站權(quán)限不足問題的解決方法
  • IIS PHP環(huán)境Temp文件夾的權(quán)限問題引起的網(wǎng)站故障
  • win2003 IIS虛擬主機網(wǎng)站防木馬、權(quán)限設(shè)置、安全配置整理
  • Apache Wind2003 配置網(wǎng)站目錄權(quán)限小結(jié)
  • ASP.NET MVC5網(wǎng)站開發(fā)之登錄、驗證和注銷管理員篇1(六)
  • vs2010制作簡單的asp.net網(wǎng)站
  • 如何對ASP.NET網(wǎng)站實現(xiàn)靜態(tài)化
  • ASP.NET MVC5網(wǎng)站開發(fā)管理列表、回復(fù)及刪除(十三)
  • MVC網(wǎng)站開發(fā)之權(quán)限管理篇

標(biāo)簽:試駕邀約 綏化 湖北 湘西 銅陵 欽州 焦作 無錫

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET MVC5網(wǎng)站開發(fā)之實現(xiàn)數(shù)據(jù)存儲層功能(三)》,本文關(guān)鍵詞  ASP.NET,MVC5,網(wǎng),站開,發(fā)之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET MVC5網(wǎng)站開發(fā)之實現(xiàn)數(shù)據(jù)存儲層功能(三)》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET MVC5網(wǎng)站開發(fā)之實現(xiàn)數(shù)據(jù)存儲層功能(三)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    私人高清影院 强乱中文字| 日韩中文字幕亚洲精品欧美| 一级片免费网站| 欧美又黄又嫩大片a级| 国产一区二区三区久久| 久久免费在线观看| 伊人久久综合视频| 韩国18福利视频免费观看| 亚洲乱亚洲高清| 亚洲一区二区三区四区精品| 内射中出日韩无国产剧情| 精品成人久久av| 久久久久国产精品视频| 国产xxxxhd| 成人性生交大片免费观看网站| 美女又黄又免费的视频| av天天在线| 中文字幕一区二区三区不卡在线| 欧美变态tickle挠乳网站| 亚洲综合色噜噜狠狠| 日本成人在线免费| 欧美精品在欧美一区二区| 日韩免费精品视频| 4444欧美成人kkkk| 日本高清视频网站www| 99久久国产综合精品麻豆| 日本成人a视频| 久久精品亚洲精品| 国产91在线|亚洲| 韩国中文字幕2020精品| mm1313亚洲国产精品美女| 欧美成人精品一区二区男人小说| 中文字幕一区二区三区四区在线视频| 色一情一交一乱一区二区三区| 亚洲 国产 欧美 日韩| 激情久久av一区av二区av三区| 手机看片国产日韩| 亚洲影视在线播放| 99热免费精品在线观看| 波多结衣在线观看| 日韩一级片一区二区| 日本在线精品视频| 日本一区二区三区中文字幕| 日韩av三级在线观看| 亚洲成人男人天堂| 日本一区二区三区视频视频| 亚洲精品一区二区三区影院| 国产午夜精品久久久久久久| 国产精品乱码一区二区视频| 一个色免费成人影院| 欧美美女啪啪| 亚洲狼人综合网| 国产99久久精品一区二区 夜夜躁日日躁| 最新91在线视频| 国产精品免费丝袜| 9i看片成人免费看片| 国产午夜精品全部视频播放| 色婷婷成人在线| 97免费在线观看视频| 欧美视频久久久| 久久色免费在线视频| 性欧美一区二区三区| 国产又粗又长又爽又黄的视频| av在线电影播放| 亚洲女则毛耸耸bbw| 国产精品不卡av| 狠狠躁夜夜躁人人爽天天天天97| x88av蜜桃臀一区二区| 欧美电影免费观看网站| 人妻互换一区二区激情偷拍| 在线观看免费高清视频| 成人免费无遮挡| 手机在线观看你懂的| 天堂8中文在线最新版在线| 亚洲熟妇av日韩熟妇在线| www黄色在线| www.亚洲天堂网| yellow在线观看网址| 丁香花在线电影| 中文欧美日本在线资源| 国产97在线亚洲| 国产一卡2卡3卡4卡网站免费| 六月婷婷七月丁香| 国产精品第八页| 国产一区网站| 久久精品亚洲7777影院| 最近2019中文字幕一页二页| 疯狂揉花蒂控制高潮h| 欧美黑人一级片| 日本黄色免费片| 水蜜桃一区二区| 爽成人777777婷婷| 调教视频免费在线观看| 人人干人人视频| 欧美一级视频精品观看| 亚洲v在线看| 蜜桃91丨九色丨蝌蚪91桃色| 精品视频在线观看| 日本人妻一区二区三区| 国产一区二区99| 一区二区在线观| 91麻豆精品国产91久久久久久久久| 无码av中文一区二区三区桃花岛| 亚洲毛片在线| 成人一级视频在线观看| 亚洲 欧美 变态 另类 综合| 国产精品国产三级在线观看| 强开小嫩苞一区二区三区视频| 国产精品实拍| 视频精品一区二区三区| 国产对白videos麻豆高潮| 黄色在线观看国产| 日韩在线一二三| 欧美精品色哟哟| 2024最新电影免费在线观看| 久久国产精品色av免费看| 亚洲一级Av无码毛片久久精品| 久久久久久久久久久久久久久久av| 亚洲一区二区三区四区五区| 黄色亚洲网站| 亚洲在线视频福利| 熟妇人妻av无码一区二区三区| 国产一区中文字幕| 成人夜晚看av| 久久久久久亚洲综合| 97成人在线视频| 亚洲国产一区在线观看| 国产不卡一卡2卡三卡4卡5卡在线| 9色porny自拍视频一区二区| 又黄又爽的视频在线观看| 久久精品一区二区三区av| 亚洲精品在线网址| 91自拍.com| 精品免费视频一卡2卡三卡4卡不卡| 亚洲国产av一区二区| 欧美一区日本一区韩国一区| 手机精品视频在线观看| 欧美在线视频一区| 在线播放色视频| 久久综合狠狠综合| 国产欧洲在线| 一级片黄色免费| 亚洲成人自拍| 亚洲一区二区三区免费看| 国产成人av毛片| 91久久精品国产性色| 久色视频网站| 亚洲欧美激情视频| 蜜桃久久av一区| av影院在线免费观看| 鲁丝片一区二区三区| wwwwww国产| 91女神在线观看| 中文字幕亚洲综合久久五月天色无吗''| 久久韩国免费视频| 三级做a全过程在线观看| 国产一区二区三区小说| 国产欧美一区二区精品秋霞影院| 免费在线观看成人| 中文字幕精品视频在线| 99成人免费视频| 国产三区四区在线观看| 久久久蜜桃一区二区人| 精品偷拍激情视频在线观看| 久久婷婷国产综合国色天香| 综合久草视频| 91成人在线观看喷潮蘑菇| 色综合亚洲图丝熟| 污视频在线观看免费| 亚洲一区二区欧美激情| 日韩a级作爱片一二三区免费观看| 日韩电影在线一区二区| a在线播放不卡| 高清精品久久| 四虎4hutv紧急入口| 色是在线视频| 国产一区二区剧情av在线| 国产九九精品| 欧美一级电影久久| 欧美久久久久久久久中文字幕| 欧美xxxxbbbb| 风韵丰满熟妇啪啪区老熟熟女| 五月婷婷丁香色| 日产中文字幕在线精品一区| 正在播放木下凛凛xv99| 国产精品久久久久久久久粉嫩av| 69国产精品视频| 欧洲亚洲免费视频| 中文字幕人妻一区二区三区| 强伦人妻一区二区三区| 99精品偷自拍| 丰满人妻一区二区三区免费| 怡红院成永久免费人全部视频| 一级片免费视频| 欧美日韩午夜在线| 91麻豆国产福利精品| 日韩图片一区| 亚州精品国产精品乱码不99按摩| 在线观看成年人视频| 欧美性视频一区二区三区| 日韩成人一级| 黄瓜视频18免费观看| 是的av在线| 97精品久久| 欧美视频二区36p| 国产精品白浆流出视频| 制服丝袜专区在线| 欧美视频第一页| 国产亚洲综合性久久久影院| www.黄色网址| 99在线精品免费视频| 日本在线观看网站| 久久精品二区三区| 91蜜桃臀久久一区二区| 亚洲色图影院| 久草在线视频资源| 国产又粗又长又爽又黄的视频| 少妇激情一区二区三区视频| 一本大道香蕉8中文在线视频| 首页亚洲欧美制服丝腿| 午夜精品影视国产一区在线麻豆| 精品久久久久久久无码| 在线观看免费小视频| 波多野结衣家庭教师在线观看| 99久久精品一区| 亚洲精品国产成人| a级片在线观看视频| 成人欧美一区二区三区1314| 第一福利在线视频| 女同激情久久av久久| 久草在线视频福利| 九九九九九九九九| 91黄色小网站| www.午夜色| 热re66久久精品国产99热| 四虎永久网址| 日韩精品999| 亚洲成人午夜在线| 成年男人的天堂| 国产欧美日韩精品综合| 国产又黄又大又粗视频| 在线观看免费播放网址成人| 成人亚洲精品777777ww| 北条麻妃在线一区| 大陆极品少妇内射aaaaa| 午夜免费电影一区在线观看| 丰满少妇被猛烈进入高清播放| 99在线免费视频观看| 免费在线国产| 乱精品一区字幕二区| 日韩在线视频精品| 操人视频在线观看欧美| 国精品人妻无码一区二区三区喝尿| 亚洲二区精品| 妞干网这里只有精品| 国产精品成人一区二区艾草| 亚洲444eee在线观看| 91性高潮久久久久久久| 国产秀色在线www免费观看| 一区二区三区四区五区精品| 亚洲精品欧美精品| 国产福利91精品一区二区三区| 欧美日韩中文字幕在线观看| 91美女主播在线视频| 91入口在线观看| 欧美风情在线视频| 国产无遮挡一区二区三区毛片日本| 免费在线看v| 日韩国产一二三区| 一区二区国产视频| 免费在线观看污污视频| 亚洲第一综合| 亚洲影院一区二区三区| 久久99精品久久久久久噜噜| 亚洲国产电影| 国产成人久久精品麻豆二区| 国产日产欧美精品一区二区三区| 久久免费电影| 久久精品国产精品亚洲综合| 一区二区三区高清在线视频| 婷婷久久综合九色综合伊人色| 天天久久综合| 欧美激情久久久久| 亚洲国产又黄又爽女人高潮的| 4480yy私人影院高清不卡| 日本午夜小视频| 日韩三级视频在线| 4438五月综合| 日韩中文字幕一区二区| 国产免费黄视频在线观看| 91极品视频在线观看| 激情图片小说一区| 春日野结衣av| 中文在线字幕在线观看| 成人免费xxxxx在线视频| 人与牲动交xxxxbbb| 成人免费毛片app| 蜜桃特黄a∨片免费观看| 丰满少妇大力进入| 欧美日韩福利| 粉嫩老牛aⅴ一区二区三区| 国产原创剧情av| 两个人免费视频观看日本| 一级片视频网站| 亚洲成人av免费| 国产又色又爽又黄刺激在线视频| 视频在线国产| 欧美日韩一区二区三区视频| 国产欧美三级电影| jk破处视频在线| 香港欧美日韩三级黄色一级电影网站| 国产成人在线中文字幕| 精品人妻伦一区二区三区久久| 亚洲欧美在线成人| 五月婷婷六月丁香综合| 一道本在线观看视频| 精品亚洲夜色av98在线观看| 国产成人综合在线观看| 亚洲大胆人体视频| 欧美三级韩国三级日本一级| 女人裸体免费网站| 欧美日本三级| jizzjizzxxxx| 久久人人爽av| 717成人午夜免费福利电影| 最近中文字幕2019第二页视频| 日本精品一二区| 色哟哟无码精品一区二区三区|