精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺談LINQ to ACCESS簡單實現

開發 后端
為了節省服務器,網站的訪問量也不算太大,一直想用ACCESS數據庫,但苦于LINQ不支持ACCESS,在網上找了很多的方法,但覺的都不是太完美。在看了LINQ to ACCESS的源碼后,才發現,linq to sql 可以用于ACCESS數據庫。

在LINQ to SQL里面都是用的DbConnection,而不是SQLConnection,這樣的話理論上可以支持所有的數據,但對于一些數據庫的支持可能不是太好。例如分頁,SQL Server 2000,SQL Server 2005,SQL Server 2008數據,使用LINQ的代碼都不一樣,而ACCESS和SQL Server 2000比較接近,就可以直接使用SQL Server 2000Provider。查了一些資料看到,理論有那個數據庫provider,就可以支持這種數據庫。也看了dbLINQ 0.8支持不同數據庫的源碼,但自己能力有限不能寫一個ACCESS的,還是用官方的吧。下邊說一下方法。

其實他不太麻煩,只是改一下,*.designer.cs文件里的代碼。因為ACCESS 不支持dbo,而LINQ to SQL里數據表前面都有dbo.的前綴, [Table(Name="dbo.wjk3")],將dbo.去掉,不然的話,會提示你找不到dbo數據庫,這點上,自己走了不少彎路。在public partial class DDataContext: System.Data.LINQ.DataContext上邊加上, [Provider(typeof(System.Data.LINQ.SQLClient.SQL Server 2000Provider))]設定為SQL Server 2000Provider,不然的話 LINQ 里面的first 不能使用,另外分頁也不能使用,因為他默認的是SQL Server 2008Provider。

這一點很重要,到現在為止,基本上解決LINQ to ACCESS的使用,但還有一點問題,從數據庫讀取一條記錄,修改后使用SubmitChanges()更新,提示錯誤,不能修改,錯誤內容:找不到行或行已更改。這一點可以使用一些自定義方法來實現更新,使用ExecuteCommand()直接執行更新SQL語句來實現。感覺LINQ to SQL的跟蹤,如果不適用SubmitChanges()更新的話,跟蹤也每太大的意義,實現跟蹤可能會降低系能,另外添加,刪除也依賴跟蹤,如果不使用跟蹤的話,還要擴展添加,刪除的方法。

  1. public partial class dbgame  
  2.     {  
  3.         public IQueryable<TEntity> Find<TEntity>(TEntity obj) where TEntity : class  
  4.         {  
  5.             //獲得所有property的信息  
  6.             PropertyInfo[] properties = obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);  
  7.             //構造初始的query  
  8.             IQueryable<TEntity> query = this.GetTable<TEntity>().AsQueryable<TEntity>();  
  9.             //遍歷每個property  
  10.             foreach (PropertyInfo p in properties)  
  11.             {  
  12.                 if (p != null)  
  13.                 {  
  14.                     Type t = p.PropertyType;  
  15.                     //加入object,Binary,和XDocument, 支持sql_variant,imager 和xml等的影射。  
  16.                     if (t.IsValueType || t == typeof(string) || t == typeof(System.Byte[])  
  17.                       || t == typeof(object) || t == typeof(System.Xml.Linq.XDocument)  
  18.                       || t == typeof(System.Data.Linq.Binary))  
  19.                     {  
  20.                         //如果不為null才算做條件  
  21.                         if (p.GetValue(obj, null) != null)  
  22.                         {  
  23.                             if (((ColumnAttribute)(p.GetCustomAttributes(typeof(ColumnAttribute), true)[0])).IsPrimaryKey && Convert.ToInt32(p.GetValue(obj, null)) == 0)  
  24.                             {  
  25.                             }  
  26.                             else  
  27.                             {  
  28.                                 ParameterExpression param = Expression.Parameter(typeof(TEntity),"c");  
  29.                                 Expression right = Expression.Constant(p.GetValue(obj, null));  
  30.                                 Expression left = Expression.Property(param, p.Name);  
  31.                                 Expression filter = Expression.Equal(left, right);  
  32.                                 Expression<Func<TEntity, bool>> pred = Expression.Lambda<Func<TEntity, bool>>(filter, param);  
  33.                                 queryquery = query.Where(pred);  
  34.                             }  
  35.                         }  
  36.                     }  
  37.                 }  
  38.             }  
  39.             return query;  
  40.         }  
  41.         public void Update<TEntity>(TEntity obj) where TEntity : class  
  42.         {  
  43.             string str = "update  " + typeof(TEntity).Name + " set ";  
  44.             string cols = "";  
  45.             string where="";  
  46.             //獲得所有property的信息  
  47.             PropertyInfo[] properties = obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);  
  48.             //構造初始的query  
  49.  
  50.             IQueryable<TEntity> query = this.GetTable<TEntity>().AsQueryable<TEntity>();  
  51.             //遍歷每個property  
  52.             foreach (PropertyInfo p in properties)  
  53.             {  
  54.                 if (p != null)  
  55.                 {  
  56.                     Type t = p.PropertyType;  
  57.                     //加入object,Binary,和XDocument, 支持sql_variant,imager 和xml等的影射。  
  58.                     if (t.IsValueType || t == typeof(string) || t == typeof(System.Byte[])  
  59.                       || t == typeof(object) || t == typeof(System.Xml.Linq.XDocument)  
  60.                       || t == typeof(System.Data.Linq.Binary))  
  61.                     {  
  62.                         //如果不為null才算做條件  
  63.  
  64.                         if (p.GetValue(obj, null) != null)  
  65.                         {  
  66.                             if (((ColumnAttribute)(p.GetCustomAttributes(typeof(ColumnAttribute), true)[0])).IsPrimaryKey)  
  67.                             {  
  68.                                 where +=" where "+p.Name+"="+p.GetValue(obj,null);  
  69.                             }  
  70.                             else  
  71.                             {  
  72.                                  
  73.                                 if (t == typeof(System.Byte[]) || t == typeof(System.Int32) || t == typeof(Double) || t == typeof(float))  
  74.                                     cols += p.Name + "=" + p.GetValue(obj, null) + ",";  
  75.                                 else  
  76.                                     cols += p.Name + "='" + p.GetValue(obj, null) + "',";  
  77.                             }  
  78.                         }  
  79.                     }  
  80.                 }  
  81.             }  
  82.  
  83.             str += cols.Substring(0,cols.Length-1) +where;  
  84.             HttpContext.Current.Response.Write("<br>"+str+"<br>");  
  85.              this.ExecuteCommand(str);  
  86.             
  87.         }  
  88.         public void Insert<TEntity>(TEntity obj) where TEntity : class  
  89.         {  
  90.             string str = "insert into [" + typeof(TEntity).Name + "] (";  
  91.             string cols = "";  
  92.             string vals = "";  
  93.             string where = "";  
  94.             //獲得所有property的信息  
  95.             PropertyInfo[] properties = obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);  
  96.             //構造初始的query  
  97.  
  98.             IQueryable<TEntity> query = this.GetTable<TEntity>().AsQueryable<TEntity>();  
  99.             //遍歷每個property  
  100.             foreach (PropertyInfo p in properties)  
  101.             {  
  102.                 if (p != null)  
  103.                 {  
  104.                     Type t = p.PropertyType;  
  105.                     //加入object,Binary,和XDocument, 支持sql_variant,imager 和xml等的影射。  
  106.                     if (t.IsValueType || t == typeof(string) || t == typeof(System.Byte[])  
  107.                       || t == typeof(object) || t == typeof(System.Xml.Linq.XDocument)  
  108.                       || t == typeof(System.Data.Linq.Binary))  
  109.                     {  
  110.                         //如果不為null才算做條件  
  111.  
  112.                         if (p.GetValue(obj, null) != null)  
  113.                         {  
  114.                             //if (((ColumnAttribute)(p.GetCustomAttributes(typeof(ColumnAttribute), true)[0])).IsPrimaryKey && Convert.ToInt32(p.GetValue(obj,null))==0)  
  115.                             //{  
  116.                                   
  117.                             //}  
  118.                             //else  
  119.                             //{  
  120.                                 cols += "["+p.Name + "],";  
  121.                                 if (t == typeof(System.Byte[]) || t == typeof(System.Int32) || t == typeof(Double) || t == typeof(float))  
  122.                                     vals += p.GetValue(obj, null) + ",";  
  123.                                 else  
  124.                                     vals +="'"+ p.GetValue(obj, null) + "',";  
  125.                            // }  
  126.                         }  
  127.                     }  
  128.                 }  
  129.             }  
  130.  
  131.             str += cols.Substring(0, cols.Length - 1) + ") values (" + vals.Substring(0, vals.Length - 1) + ")";  
  132.             HttpContext.Current.Response.Write("<br>" + str + "<br>");  
  133.             this.ExecuteCommand(str);  
  134.  
  135.         }  
  136.         public void Delete<TEntity>(TEntity obj) where TEntity : class  
  137.         {  
  138.             string str = "delete from [" + typeof(TEntity).Name+"] where ";  
  139.             string cols = "";  
  140.             string where = "";  
  141.             //獲得所有property的信息  
  142.             PropertyInfo[] properties = obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);  
  143.             //構造初始的query  
  144.  
  145.             IQueryable<TEntity> query = this.GetTable<TEntity>().AsQueryable<TEntity>();  
  146.             //遍歷每個property  
  147.             foreach (PropertyInfo p in properties)  
  148.             {  
  149.                 if (p != null)  
  150.                 {  
  151.                     Type t = p.PropertyType;  
  152.                     //加入object,Binary,和XDocument, 支持sql_variant,imager 和xml等的影射。  
  153.                     if (t.IsValueType || t == typeof(string) || t == typeof(System.Byte[])  
  154.                       || t == typeof(object) || t == typeof(System.Xml.Linq.XDocument)  
  155.                       || t == typeof(System.Data.Linq.Binary))  
  156.                     {  
  157.                         //如果不為null才算做條件  
  158.  
  159.                         if (p.GetValue(obj, null) != null)  
  160.                         {  
  161.                             if (((ColumnAttribute)(p.GetCustomAttributes(typeof(ColumnAttribute), true)[0])).IsPrimaryKey && Convert.ToInt32(p.GetValue(obj, null)) == 0)  
  162.                             {  
  163.  
  164.                              }  
  165.                             else  
  166.                             {  
  167.                                 if (t == typeof(System.Byte[]) || t == typeof(System.Int32) || t == typeof(Double) || t == typeof(float))  
  168.                                     where +="["+p.Name+"]" + "=" + p.GetValue(obj, null) + " and ";  
  169.                                 else  
  170.                                     where += "[" + p.Name + "]" + "='" + p.GetValue(obj, null) + "' and ";  
  171.                             }  
  172.                         }  
  173.                     }  
  174.                 }  
  175.             }  
  176.  
  177.             str +=where.Substring(0,where.Length-5);  
  178.             HttpContext.Current.Response.Write("<br>" + str + "<br>");  
  179.             this.ExecuteCommand(str);  
  180.  
  181.         }  
  182.         public IQueryable<TEntity> FindKey<TEntity>(object value) where TEntity : class  
  183.         {  
  184.             //獲得所有property的信息  
  185.             PropertyInfo[] properties = typeof(TEntity).GetProperties(BindingFlags.Public | BindingFlags.Instance);  
  186.             //構造初始的query  
  187.             IQueryable<TEntity> query = this.GetTable<TEntity>().AsQueryable<TEntity>();  
  188.             //遍歷每個property  
  189.             foreach (PropertyInfo p in properties)  
  190.             {  
  191.                 if (p != null)  
  192.                 {  
  193.                     Type t = p.PropertyType;  
  194.                     //加入object,Binary,和XDocument, 支持sql_variant,imager 和xml等的影射。  
  195.                     if (t.IsValueType || t == typeof(string) || t == typeof(System.Byte[])  
  196.                       || t == typeof(object) || t == typeof(System.Xml.Linq.XDocument)  
  197.                       || t == typeof(System.Data.Linq.Binary))  
  198.                     {  
  199.                         //如果不為null才算做條件  
  200.                         if (((ColumnAttribute)(p.GetCustomAttributes(typeof(ColumnAttribute), true)[0])).IsPrimaryKey)  
  201.                         {  
  202.                             ParameterExpression param = Expression.Parameter(typeof(TEntity), "d");  
  203.                             Expression right = Expression.Constant(value);  
  204.                             Expression left = Expression.Property(param, p.Name);  
  205.                             Expression filter = Expression.Equal(left, right);  
  206.  
  207.                             Expression<Func<TEntity, bool>> pred = Expression.Lambda<Func<TEntity, bool>>(filter, param);  
  208.  
  209.                             queryquery = query.Where(pred);  
  210.                            break;  
  211.                         }  
  212.                     }  
  213.                 }  
  214.             }  
  215.             return query;  
  216.         }  
  217.     } 

沒有解決的問題:

怎樣能解決更新的時候能直接使用SubmitChanges();

【編輯推薦】

  1. 使用LINQ查詢泛型字典Dictionary
  2. 淺析Linq to SQL更新數據時容易忽略的問題
  3. 淺談LINQ to SQL集成數據庫語言優劣
  4. LINQ橫向對比foreach方法
  5. 淺談LINQ如何插入刪除和更新數據庫記錄備注
責任編輯:彭凡 來源: cnblogs
相關推薦

2009-09-08 10:03:13

Linq查詢Acces

2009-09-08 16:55:01

Linq實現XML轉換

2009-09-09 15:44:22

Linq DataCo

2009-09-15 16:31:15

LINQ Custom

2009-09-15 15:18:40

Linq連接查詢

2009-09-17 09:24:57

Linq實現分頁

2009-09-15 11:34:47

Linq多條件查詢

2009-09-11 11:25:35

LINQ函數集合

2009-09-10 15:45:07

Linq使用Selec

2009-09-10 11:29:00

LINQ to SQL

2009-09-16 11:15:52

Linq聯接數據

2009-09-14 09:49:08

Linq擴展函數

2009-09-08 15:19:52

Linq Where操

2009-09-07 17:32:14

LINQ檢索數據

2009-09-17 10:40:23

linq存儲過程

2009-09-17 09:57:08

linq創建數據庫

2009-09-09 11:07:52

LINQ to SQL

2009-09-18 16:32:51

Linq委托實例化

2009-09-14 15:45:28

LINQ刪除XML節點

2009-09-15 11:08:01

LinQ調用存儲過程
點贊
收藏

51CTO技術棧公眾號

性xxxx欧美老肥妇牲乱| 欧美波霸videosex极品| 男人天堂av电影| 国产激情欧美| 亚洲一区在线免费观看| 免费久久一级欧美特大黄| 亚洲自拍偷拍另类| 亚洲一区成人| 久久久国产视频91| 欧美老熟妇乱大交xxxxx | 国产精品福利一区二区三区| 成人在线看片| 在线播放国产一区| 99成人精品| 日韩专区在线播放| 美脚丝袜一区二区三区在线观看| 日本黄色一级视频| 韩国亚洲精品| 中文字幕免费精品一区高清| 蜜桃色一区二区三区| 欧美成人app| 亚洲午夜在线观看视频在线| 亚洲黄色成人久久久| 色婷婷av一区二区三区之e本道| 蜜臀av性久久久久蜜臀aⅴ| 高清欧美性猛交xxxx| 国产小视频你懂的| 国产成人久久| 日韩精品免费在线播放| 美女又黄又免费的视频| 电影一区二区三区| 香蕉成人伊视频在线观看| 日韩视频在线免费播放| 你懂的视频在线| 成人性生交大片免费看中文网站| 91美女福利视频高清| 波多野结衣黄色| 国产一区二区三区久久| 久久99精品久久久久久青青91 | 深爱激情综合| 国产视频在线一区二区| 欧美精品一区二区三区国产精品| 九色综合婷婷综合| а√天堂资源在线| 韩国av一区二区三区在线观看| 国产精品 欧美在线| 国产又大又黄又粗| 亚洲自拍另类| 欧美一级免费看| 日本在线视频免费| 国产一区二区三区成人欧美日韩在线观看| 欧美肥老妇视频| 久久免费播放视频| 国产精品v一区二区三区| 久久精品99久久香蕉国产色戒| 日本成人免费在线观看| 国产高清一区| 久久影视电视剧免费网站清宫辞电视| 在线视频这里只有精品| 国产精品麻豆久久| 欧美成年人视频| 久久精品www人人爽人人| 欧美搞黄网站| 久久免费高清视频| 亚洲日本视频在线观看| 日日夜夜精品视频天天综合网| 国产91精品在线播放| 国产suv精品一区二区33| 久久精品亚洲| 国产伊人精品在线| 国产精品久久免费| 岛国一区二区在线观看| 好吊色欧美一区二区三区| 日韩精品123| 国产精品女主播在线观看| 国产免费色视频| 青春草免费在线视频| 亚洲成人www| 免费观看成人网| 色综合一区二区日本韩国亚洲| 日韩欧美自拍偷拍| 久久午夜夜伦鲁鲁片| 欧美久久综合网| 久久亚洲电影天堂| 国产成人无码精品亚洲| 日本不卡视频在线观看| av午夜一区麻豆| 2019国产精品自在线拍国产不卡| 欧美一区二区三区网站| 久久机这里只有精品| 99在线视频播放| 精品影院一区| 亚洲人成人一区二区在线观看| 日本xxxxxxxxxx75| 国产精品字幕| 精品国产髙清在线看国产毛片| 中文字幕一区二区人妻在线不卡| 久久影院100000精品| 久久免费在线观看| 这里只有精品9| 97成人超碰视| 日本丰满大乳奶| 成人直播视频| 欧美岛国在线观看| 超碰人人干人人| 在线高清一区| 成人深夜直播免费观看| 少妇av在线播放| 1区2区3区欧美| 日本wwww视频| www.爱久久| 日韩在线观看你懂的| 国产成人精品片| 国产一区999| 亚洲高清资源综合久久精品| jizzjizz中国精品麻豆| 欧美男女性生活在线直播观看| 中文字幕三级电影| 亚洲先锋影音| 国产日韩精品在线播放| 日本国产在线| 亚洲综合久久av| 九一精品久久久| 不卡一区2区| 日本精品久久久久影院| 日韩一区二区三区在线观看视频| 136国产福利精品导航| 欧美精品性生活| 免费电影一区二区三区| 久久青草精品视频免费观看| 国产黄色一区二区| 亚洲色图欧洲色图| 99re精彩视频| 激情婷婷综合| 女生裸体视频一区二区三区| 亚洲欧美制服另类日韩| 国产一级在线观看视频| 国产一区二区0| eeuss中文| 国产高清亚洲| 久久久国产91| 国产在成人精品线拍偷自揄拍| 国产日韩精品视频一区| 久久综合久久色| 伊人久久大香线蕉av不卡| 8x海外华人永久免费日韩内陆视频| 亚洲av综合色区无码一二三区| 亚洲色图19p| 波多野结衣在线免费观看| 亚洲精彩视频| 91入口在线观看| 韩国成人免费视频| 欧美成人午夜电影| 国产无遮挡又黄又爽| www.在线成人| www国产黄色| 精品国产一区一区二区三亚瑟| 日韩男女性生活视频| 国产一级二级三级在线观看| 欧美亚洲国产bt| 精品人体无码一区二区三区| 精品亚洲欧美一区| 黄色影视在线观看| 亚洲性视频在线| 97碰碰碰免费色视频| 香蕉久久国产av一区二区| 欧美视频一区二区三区…| 国产又爽又黄无码无遮挡在线观看| 免费一级欧美片在线播放| 奇米精品在线| 亚洲视频资源| 久久久久久久久久久免费精品| 天堂av资源在线| 91福利区一区二区三区| 日本免费网站视频| 国产91精品免费| 午夜肉伦伦影院| 999久久久精品国产| aaa级精品久久久国产片| 九色porny丨国产首页在线| 亚洲天堂成人在线| 国产视频一区二区三区四区五区| 亚洲成人7777| 69xxx免费| 高清不卡一二三区| 97香蕉超级碰碰久久免费软件| 午夜国产一区二区三区| 国产一区二区三区四区大秀| 91精品视频在线| 大菠萝精品导航| 在线看日韩av| 日本精品一区二区在线观看| 欧美在线播放高清精品| 欧美日韩精品亚洲精品| 久久午夜老司机| 亚洲一级片av| 久久xxxx| 国产一区二区三区小说| 不卡在线一区| 久久精品人成| 免费欧美网站| 国产精品久久久久久久久久99| 男人天堂亚洲| 少妇高潮 亚洲精品| 乱精品一区字幕二区| 欧美午夜在线一二页| 日韩av综合在线| 综合激情成人伊人| 51妺嘿嘿午夜福利| 成人av先锋影音| 超碰在线超碰在线| 日韩精品三区四区| 成人免费aaa| 欧美色综合网| 亚洲成人av动漫| 欧美天堂影院| 国产精品久久7| 亚洲国产天堂| 国产精品嫩草视频| 五月天国产在线| 久久久久国产精品一区| 日本在线看片免费人成视1000| 国产视频欧美视频| 蜜桃在线一区二区| 欧美一级片在线看| 一级片免费网站| 欧美性生活一区| www五月天com| 都市激情亚洲色图| 日本一本高清视频| 亚洲综合一区二区精品导航| 色欲人妻综合网| 亚洲欧洲在线观看av| 国产美女网站视频| 欧美国产日韩亚洲一区| 国产av自拍一区| 久久五月婷婷丁香社区| 国产精品1000部啪视频| 91丨porny丨国产入口| 亚洲自拍偷拍精品| 成人精品视频一区| 69亚洲乱人伦| 国产手机视频在线| 亚洲三级理论片| 久久久久麻豆v国产| 中文字幕成人av| 在线观看亚洲大片短视频| 久久久久99精品国产片| 亚洲专区区免费| 国产亚洲成年网址在线观看| 一区二区三区在线观看免费视频| 国产亚洲女人久久久久毛片| 亚洲理论片在线观看| 日本一区二区三区四区| 人妻视频一区二区| 国产精品久久久久影院亚瑟| 超碰人人干人人| 最新成人av在线| 欧美日韩精品亚洲精品| 亚洲不卡av一区二区三区| 五月婷婷开心网| 一本到不卡免费一区二区| 久久久久久久亚洲| 欧美日韩夫妻久久| 国产高清精品软件丝瓜软件| 精品少妇一区二区三区免费观看| 乱精品一区字幕二区| 亚洲精品日韩丝袜精品| 国产精品ⅴa有声小说| 自拍偷拍亚洲区| 污影院在线观看| 91av成人在线| 草莓视频成人appios| 亚洲中国色老太| 色婷婷av一区二区三区丝袜美腿| 日韩精品一区二区三区外面| 91精品国产乱码久久久久久| 亚洲 欧美 综合 另类 中字| 久久国产直播| 尤物网站在线看| 91免费国产在线| www成人啪啪18软件| 亚洲资源在线观看| 自拍偷拍18p| 日韩欧美精品三级| 欧美午夜黄色| 久久天天躁狠狠躁夜夜躁2014| 麻豆mv在线看| 国产精品男女猛烈高潮激情| 给我免费播放日韩视频| 先锋影音一区二区三区| 国产一区亚洲| 韩国视频一区二区三区| 成人综合在线网站| 免费看的黄色录像| 午夜国产精品影院在线观看| 国产裸体美女永久免费无遮挡| 精品少妇一区二区三区视频免付费| 国产黄在线观看免费观看不卡| 欧美黄色片视频| 日韩成人综合网| 欧美日韩精品综合| 在线欧美不卡| 天天操精品视频| 久久久久久久精| www.天天色| 91精品国产品国语在线不卡| 你懂的在线观看视频网站| 欧美激情精品久久久| 亚洲精品成a人ⅴ香蕉片| 欧美高清一区二区| 亚洲成人在线| 自拍一级黄色片| 国产精品精品国产色婷婷| 黄色在线视频网址| 亚洲成人久久电影| 91精品久久久久久粉嫩| 国产精品电影在线观看| 人人精品视频| 日韩精品视频在线观看视频| 寂寞少妇一区二区三区| 五月天精品视频| 日韩欧美国产骚| 手机在线观看免费av| 欧美多人乱p欧美4p久久| 国产午夜亚洲精品一级在线| 亚洲一卡二卡| 蜜桃av一区二区| 国产午夜福利一区| 一本色道久久综合精品竹菊| 色一情一乱一区二区三区| 欧美贵妇videos办公室| 国产乱码精品一区二区三区亚洲人 | 国产午夜福利在线播放| 成人免费观看视频| 九九视频在线观看| 精品日韩一区二区三区| 18videosex性欧美麻豆| 91亚洲精品一区| 91不卡在线观看| 日日夜夜精品视频免费观看| 亚洲色图在线播放| 国产区精品在线| 欧美日韩第一页| 成人h动漫免费观看网站| 屁屁影院ccyy国产第一页| 国产精品一区二区久久精品爱涩 | 国产精品影院在线| 国产精品第一视频| 久久国产成人精品| 日本77777| 亚洲激情图片小说视频| 精品人妻无码一区二区色欲产成人 | 亚洲调教欧美在线| 欧美日韩视频免费播放| 日本精品专区| 国产精品久久久久久超碰| 久久国产电影| 国模大尺度视频| 午夜精品免费在线| 高清毛片在线看| 亚洲自拍欧美另类| 伊人天天综合| 亚洲自拍偷拍一区二区| 欧美在线免费播放| 午夜小视频在线| 成人av中文| 久久亚洲综合| 成人黄色短视频| 欧美sm美女调教| 成人教育av| 一级黄色录像免费看| av电影一区二区| 中文字幕免费播放| 欧美黄色片在线观看| 欧美男同视频网| 91pony九色| 狠狠色香婷婷久久亚洲精品| av资源种子在线观看| 亚洲综合精品一区二区| 国产精品婷婷| 三级黄色在线观看| 亚洲国产成人久久| 成人免费视频观看| 日韩国产成人无码av毛片| 久久综合精品国产一区二区三区 | 成人性视频免费网站| 日本a级c片免费看三区| 久久精品国产成人| 欧洲在线一区| www,av在线| 色偷偷一区二区三区| 91福利国产在线观看菠萝蜜| 久久亚洲国产精品日日av夜夜| 老司机精品视频一区二区三区| 国产午夜福利精品| 久久视频在线看| 精品视频久久| 国产xxxxxxxxx| 91精品免费在线观看|