日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

.NET 常用ORM之SubSonic

發布時間:2023/12/31 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET 常用ORM之SubSonic 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、SubSonic簡單介紹

SubSonic是一個類似Rails的開源.NET項目。你可以把它看作是一把瑞士軍刀,它可以用來構建Website和通過ORM方式來訪問數據。Rob Conery和Eric Kemp是推動SubSonic的主要開發人員,與項目良好的發展有著密切的關系。是一個優秀的、開源的ORM映射框架。

另外官方有提供符合自身需要的代碼生成器sonic.exe,但是筆者在SubSonic并未下載到類代碼生成器,而是按照SubSonic的映射規則,在之前的用過的SubSonic的類上面做的修改,為下文的demo所使用,如果哪位朋友有SubSonic代碼生成器連接,歡迎共享一下給大家。

?

?二、SubSonic使用步驟

1、新增SubSonic配置文件并引入SubSonic.dll

配置文件并不多,有三處分別加入到web.config

<configSections> <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" allowDefinition="MachineToApplication" restartOnExternalChanges="true" requirePermission="false"/></configSections>

?

<connectionStrings><add name ="SubSonicConn" connectionString="Data Source=.;Initial Catalog=Test;Integrated Security=true;uid=sa;password=XXXXXX;"/></connectionStrings>

  

<SubSonicService defaultProvider="SubSonicConn" enableTrace="false" templateDirectory=""><providers><clear/><add name="SubSonicConn" type="SubSonic.SqlDataProvider, SubSonic"connectionStringName="SubSonicConn" generatedNamespace="SubSonicConn" removeUnderscores="false" /></providers></SubSonicService>

  配置文件就這樣,注意數據連接串的name值,包括后面項目中映射類文件的name值,一定要保持一致。

2、項目下新建Generated文件夾,保存SubSonic所需的類映射文件

其中Rolexxx相關為Role表的使用類,AllStructs.cs為主要的控制器文件,StoredProcedures.cs為存儲過程相關的類。具體類代碼如下:

using System; using System.Text; using System.Data; using System.Data.SqlClient; using System.Data.Common; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Xml; using System.Xml.Serialization; using SubSonic; using SubSonic.Utilities; // <auto-generated /> namespace ORMSubSonic.Generated {#region Tables Structpublic partial struct Tables{public static readonly string Boy = @"boy";}#endregion#region Schemaspublic partial class Schemas {public static TableSchema.Table Boy{get { return DataService.GetSchema("boy", "SubSonicConn"); }}}#endregion#region View Structpublic partial struct Views {}#endregion#region Query Factoriespublic static partial class DB{public static DataProvider _provider = DataService.Providers["SubSonicConn"];static ISubSonicRepository _repository;public static ISubSonicRepository Repository {get {if (_repository == null)return new SubSonicRepository(_provider);return _repository; }set { _repository = value; }}public static Select SelectAllColumnsFrom<T>() where T : RecordBase<T>, new(){return Repository.SelectAllColumnsFrom<T>();}public static Select Select(){return Repository.Select();}public static Select Select(params string[] columns){return Repository.Select(columns);}public static Select Select(params Aggregate[] aggregates){return Repository.Select(aggregates);}public static Update Update<T>() where T : RecordBase<T>, new(){return Repository.Update<T>();}public static Insert Insert(){return Repository.Insert();}public static Delete Delete(){return Repository.Delete();}public static InlineQuery Query(){return Repository.Query();}}#endregion} #region Databases public partial struct Databases {public static readonly string SubSonicConn = @"SubSonicConn";} #endregion View Code

?

using System; using System.Text; using System.Data; using System.Data.SqlClient; using System.Data.Common; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Xml; using System.Xml.Serialization; using SubSonic; using SubSonic.Utilities; // <auto-generated /> namespace ORMSubSonic.Generated {/// <summary>/// Strongly-typed collection for the Role class./// </summary> [Serializable]public partial class RoleCollection : ActiveList<Role, RoleCollection>{public RoleCollection() { }/// <summary>/// Filters an existing collection based on the set criteria. This is an in-memory filter/// Thanks to developingchris for this!/// </summary>/// <returns>RoleCollection</returns>public RoleCollection Filter(){for (int i = this.Count - 1; i > -1; i--){Role o = this[i];foreach (SubSonic.Where w in this.wheres){bool remove = false;System.Reflection.PropertyInfo pi = o.GetType().GetProperty(w.ColumnName);if (pi.CanRead){object val = pi.GetValue(o, null);switch (w.Comparison){case SubSonic.Comparison.Equals:if (!val.Equals(w.ParameterValue)){remove = true;}break;}}if (remove){this.Remove(o);break;}}}return this;}}/// <summary>/// This is an ActiveRecord class which wraps the Role table./// </summary> [Serializable]public partial class Role : ActiveRecord<Role>, IActiveRecord{#region .ctors and Default Settingspublic Role(){SetSQLProps();InitSetDefaults();MarkNew();}private void InitSetDefaults() { SetDefaults(); }public Role(bool useDatabaseDefaults){SetSQLProps();if (useDatabaseDefaults)ForceDefaults();MarkNew();}public Role(object keyID){SetSQLProps();InitSetDefaults();LoadByKey(keyID);}public Role(string columnName, object columnValue){SetSQLProps();InitSetDefaults();LoadByParam(columnName, columnValue);}protected static void SetSQLProps() { GetTableSchema(); }#endregion#region Schema and Query Accessorpublic static Query CreateQuery() { return new Query(Schema); }public static TableSchema.Table Schema{get{if (BaseSchema == null)SetSQLProps();return BaseSchema;}}private static void GetTableSchema(){if (!IsSchemaInitialized){//Schema declarationTableSchema.Table schema = new TableSchema.Table("Role", TableType.Table, DataService.GetInstance("SubSonicConn"));schema.Columns = new TableSchema.TableColumnCollection();schema.SchemaName = @"dbo";//columns TableSchema.TableColumn colvarId = new TableSchema.TableColumn(schema);colvarId.ColumnName = "id";colvarId.DataType = DbType.Int32;colvarId.MaxLength = 0;colvarId.AutoIncrement = true;colvarId.IsNullable = false;colvarId.IsPrimaryKey = true;colvarId.IsForeignKey = false;colvarId.IsReadOnly = false;colvarId.DefaultSetting = @"";colvarId.ForeignKeyTableName = "";schema.Columns.Add(colvarId);TableSchema.TableColumn colvarUid = new TableSchema.TableColumn(schema);colvarUid.ColumnName = "uid";colvarUid.DataType = DbType.Int32;colvarUid.MaxLength = 0;colvarUid.AutoIncrement = false;colvarUid.IsNullable = true;colvarUid.IsPrimaryKey = false;colvarUid.IsForeignKey = false;colvarUid.IsReadOnly = false;colvarUid.DefaultSetting = @"";colvarUid.ForeignKeyTableName = "";schema.Columns.Add(colvarUid);TableSchema.TableColumn colvarRoleName = new TableSchema.TableColumn(schema);colvarRoleName.ColumnName = "rolename";colvarRoleName.DataType = DbType.AnsiString;colvarRoleName.MaxLength = 250;colvarRoleName.AutoIncrement = false;colvarRoleName.IsNullable = true;colvarRoleName.IsPrimaryKey = false;colvarRoleName.IsForeignKey = false;colvarRoleName.IsReadOnly = false;colvarRoleName.DefaultSetting = @"";colvarRoleName.ForeignKeyTableName = "";schema.Columns.Add(colvarRoleName);TableSchema.TableColumn colvarRemark = new TableSchema.TableColumn(schema);colvarRemark.ColumnName = "remark";colvarRemark.DataType = DbType.AnsiString;colvarRemark.MaxLength = 50;colvarRemark.AutoIncrement = false;colvarRemark.IsNullable = true;colvarRemark.IsPrimaryKey = false;colvarRemark.IsForeignKey = false;colvarRemark.IsReadOnly = false;colvarRemark.DefaultSetting = @"";colvarRemark.ForeignKeyTableName = "";schema.Columns.Add(colvarRemark);BaseSchema = schema;//add this schema to the provider//so we can query it laterDataService.Providers["SubSonicConn"].AddSchema("Role", schema);}}#endregion#region Props[XmlAttribute("Id")][Bindable(true)]public int Id{get { return GetColumnValue<int>(Columns.Id); }set { SetColumnValue(Columns.Id, value); }}[XmlAttribute("Uid")][Bindable(true)]public int? Uid{get { return GetColumnValue<int?>(Columns.Uid); }set { SetColumnValue(Columns.Uid, value); }}[XmlAttribute("RoleName")][Bindable(true)]public string RoleName{get { return GetColumnValue<string>(Columns.RoleName); }set { SetColumnValue(Columns.RoleName, value); }}[XmlAttribute("Remark")][Bindable(true)]public string Remark{get { return GetColumnValue<string>(Columns.Remark); }set { SetColumnValue(Columns.Remark, value); }}#endregion//no foreign key tables defined (0)//no ManyToMany tables defined (0)#region ObjectDataSource support/// <summary>/// Inserts a record, can be used with the Object Data Source/// </summary>public static void Insert(int? varUid, string varRoleName, string varRemark){Role item = new Role();item.Uid = varUid;item.RoleName = varRoleName;item.Remark = varRemark;if (System.Web.HttpContext.Current != null)item.Save(System.Web.HttpContext.Current.User.Identity.Name);elseitem.Save(System.Threading.Thread.CurrentPrincipal.Identity.Name);}/// <summary>/// Updates a record, can be used with the Object Data Source/// </summary>public static void Update(int varId, int? varUid, string varRoleName, string varRemark){Role item = new Role();item.Id = varId;item.Uid = varUid;item.RoleName = varRoleName;item.Remark = varRemark;item.IsNew = false;if (System.Web.HttpContext.Current != null)item.Save(System.Web.HttpContext.Current.User.Identity.Name);elseitem.Save(System.Threading.Thread.CurrentPrincipal.Identity.Name);}#endregion#region Typed Columnspublic static TableSchema.TableColumn IdColumn{get { return Schema.Columns[0]; }}public static TableSchema.TableColumn UidColumn{get { return Schema.Columns[1]; }}public static TableSchema.TableColumn RoleNameColumn{get { return Schema.Columns[2]; }}public static TableSchema.TableColumn RemarkColumn{get { return Schema.Columns[3]; }}#endregion#region Columns Structpublic struct Columns{public static string Id = @"id";public static string Uid = @"uid";public static string RoleName = @"rolename";public static string Remark = @"remark";}#endregion#region Update PK Collections#endregion#region Deep Save#endregion} } View Code

?

using System; using System.Text; using System.Data; using System.Data.SqlClient; using System.Data.Common; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Xml; using System.Xml.Serialization; using SubSonic; using SubSonic.Utilities; // <auto-generated /> namespace ORMSubSonic.Generated {/// <summary>/// Controller class for Role/// </summary> [System.ComponentModel.DataObject]public partial class RoleController{// Preload our schema..Role thisSchemaLoad = new Role();private string userName = String.Empty;protected string UserName{get{if (userName.Length == 0) {if (System.Web.HttpContext.Current != null){userName=System.Web.HttpContext.Current.User.Identity.Name;}else{userName=System.Threading.Thread.CurrentPrincipal.Identity.Name;}}return userName;}}[DataObjectMethod(DataObjectMethodType.Select, true)]public RoleCollection FetchAll(){RoleCollection coll = new RoleCollection();Query qry = new Query(Role.Schema);coll.LoadAndCloseReader(qry.ExecuteReader());return coll;}[DataObjectMethod(DataObjectMethodType.Select, false)]public RoleCollection FetchByID(object Id){RoleCollection coll = new RoleCollection().Where("id", Id).Load();return coll;}[DataObjectMethod(DataObjectMethodType.Select, false)]public RoleCollection FetchByQuery(Query qry){RoleCollection coll = new RoleCollection();coll.LoadAndCloseReader(qry.ExecuteReader()); return coll;}[DataObjectMethod(DataObjectMethodType.Delete, true)]public bool Delete(object Id){return (Role.Delete(Id) == 1);}[DataObjectMethod(DataObjectMethodType.Delete, false)]public bool Destroy(object Id){return (Role.Destroy(Id) == 1);}/// <summary>/// Inserts a record, can be used with the Object Data Source/// </summary>[DataObjectMethod(DataObjectMethodType.Insert, true)]public void Insert(int? Uid,string RoleName,string Remark){Role item = new Role();item.Uid = Uid;item.RoleName = RoleName;item.Remark = Remark;item.Save(UserName);}/// <summary>/// Updates a record, can be used with the Object Data Source/// </summary>[DataObjectMethod(DataObjectMethodType.Update, true)]public void Update(int Id, int? Uid, string RoleName, string Remark){Role item = new Role();item.MarkOld();item.IsLoaded = true;item.Id = Id;item.Uid = Uid;item.RoleName = RoleName;item.Remark = Remark;item.Save(UserName);}} } View Code

?

using System; using System.Text; using System.Data; using System.Data.SqlClient; using System.Data.Common; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Xml; using System.Xml.Serialization; using SubSonic; using SubSonic.Utilities; // <auto-generated /> namespace ORMSubSonic.Generated {public partial class SPs{}} View Code

?

3、實際使用

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using SubSonic; using ORMSubSonic.Generated; using System.Data;namespace ORMSubSonic.Controllers {public class HomeController : Controller{//// GET: /Home/public ActionResult Index(){//1.增加Generated.Role modRole = new Generated.Role();modRole.Uid = 6;modRole.RoleName = "Subsonic操作手";modRole.Remark = "Subsonic操作手備注信息";modRole.Save();//2.刪除int result = DB.Delete().From(Role.Schema).Where(Role.Columns.Id).IsEqualTo("6").Execute();//3.修改int result2 = new Update(Role.Schema).Set(Role.Columns.RoleName).EqualTo("Subsonic操作手(修改)").Where(Role.Columns.Id).IsEqualTo("5").Execute();////4.查詢//DataTable dt= DB.Select().From(Role.Schema).ExecuteDataSet().Tables[0];DataTable dt = new Select().From(Role.Schema).ExecuteDataSet().Tables[0];////5.分頁查詢DataTable dt2 = new Select().From(Role.Schema).Paged(2,2,Role.Columns.Id).OrderAsc(Role.Columns.Id).ExecuteDataSet().Tables[0];return View();}} } View Code

?

4、SubSonic語法

SubSonic語法有點特別,用過SubSonic的人都比較喜歡SubSonic的語法,因人而異。在這里筆者就簡單的介紹下SubSonic常用的方法和關鍵字

4.1、常用方法

???ExecuteReader();???返回DataReader

?

???ExecuteScalar();???返回對象

?

???ExecuteScalar<string>();??返回泛型對象

?

???ExecuteSingle<Product>();?返回表實體對象

?

???ExecuteTypedList<Product>();??返回泛型表實休數據集

?

???ExecuteDataSet();??返回DataSet

?

???ExecuteJoinedDataSet<強數型數據集>();?返回關聯查詢?DataSet

?

???Execute();?返回執行后數據更新數目

?

4.2、常用關鍵字

???IsEqualTo(obj) //?等于?value

?

???IsBetweenAnd(obj1, obj2) // [字段1] BETWEEN?值1 AND?值2

?

???StartsWith??// LIEK '1%‘

?

???EndsWith????// LIEK '%1‘

?

???IsGreaterThan // [字段1] >?值1

?

???IsGreaterThanOrEqualToIsGreaterThan // [字段1] >=?值1

?

???IsLessThan???????????????????????// [字段1] <?值1

?

???IsLessThanOrEqualToIsLessThan????// [字段1] <=?值1

?

???WhereExpression / AndExpression??// Expression?表示括號

eg:

.Where("1").IsGreaterThan(1)
???????.And("2").IsGreaterThanOrEqualTo(2)
???????.AndExpression("3").IsLessThan(3)
???????.AndExpression("4").IsLessThanOrEqualTo(4).And("5").StartsWith("5")
???????.AndExpression("6").EndsWith("6")
???????.ExecuteSingle<Product>();

實際在SQL中執行語句則是:

where 1>1 and 2>=2 and (3<3) and (4<=4 and 5 like '5%') ?and (6 like '%6')

?

4.3、多表查詢

eg:查詢Product表中產品關聯的種類名稱,并且CategoryID大于4的記錄

?

DataSet?ds =?new?Select(Product.ProductNameColumn,?Category.CategoryIDColumn,Category.CategoryNameColumn)

?

????????????????.From<Product>()

?

????????????????.InnerJoin(Category.CategoryIDColumn,?Product.CategoryIDColumn)

?

????????????????.Where(Category.CategoryIDColumn) .IsGreaterThan(4)

?

????????????????.ExecuteDataSet().Table[0];

?

Select中的列則是在在DataGridView顯示的列ProductName,CategoryID,CategoryName

?

4.4、分頁查詢

在標題三代碼使用中已經使用到,在這里就不舉例說明,具體語法就是:

SqlQuery?Paged(int?currentPage,?int?pageSize);

?

SqlQuery?Paged(int?currentPage,?int?pageSize,?string?idColumn);

?

轉載于:https://www.cnblogs.com/become/p/8884299.html

總結

以上是生活随笔為你收集整理的.NET 常用ORM之SubSonic的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美成人黄 | 久久视精品 | 色资源网免费观看视频 | 天天天天天天干 | 久草视频资源 | 久久免费视频2 | 夜夜躁日日躁狠狠久久88av | 91麻豆精品国产91久久久无需广告 | av噜噜噜在线播放 | 亚洲,国产成人av | 黄色一二级片 | 国模一二三区 | 久久免费看a级毛毛片 | 美女网站黄免费 | 国产在线观看你懂的 | 一区二区视频播放 | 久草色在线观看 | 亚洲日本成人网 | 欧美激情第一区 | 午夜久久成人 | 日韩理论电影在线观看 | 成人精品国产免费网站 | 毛片永久免费 | 亚洲第一成网站 | 日一日操一操 | 91亚洲在线观看 | 中文字幕av一区二区三区四区 | 五月丁色| 免费在线黄网 | 国产亚洲视频系列 | 国产精品久久久久久久久久久久午 | 免费男女羞羞的视频网站中文字幕 | 综合在线观看色 | 亚洲日本在线视频观看 | 久久er99热精品一区二区三区 | 国产在线观看你懂得 | 97夜夜澡人人爽人人免费 | 免费网站在线观看人 | 一级片免费观看 | 日本精品视频在线观看 | 一级片免费视频 | 国产在线国偷精品产拍免费yy | 美女国内精品自产拍在线播放 | 天天操夜夜操国产精品 | 在线观看中文av | 青春草国产视频 | 免费在线观看一区二区三区 | 欧美男女爱爱视频 | 天天爽天天碰狠狠添 | 久久久亚洲麻豆日韩精品一区三区 | 亚洲aaa级 | 青青草久草在线 | 麻花豆传媒一二三产区 | 97超碰超碰久久福利超碰 | 九九热国产视频 | 天天操夜夜看 | 国产伦理一区二区三区 | 一级免费黄色 | 一本一道久久a久久精品 | 亚洲精品在线资源 | 成人在线黄色 | 国内精品亚洲 | 免费网站黄 | 在线看片视频 | 亚洲精品av在线 | www黄色 | 中文字幕国产一区 | 五月婷婷久久丁香 | 超碰在线国产 | 久久社区视频 | aⅴ视频在线 | 中文字幕美女免费在线 | 99久久精品费精品 | 国产精品 国内视频 | 亚洲精品福利在线观看 | 欧美成人影音 | 婷婷六月网 | 免费毛片一区二区三区久久久 | 激情综合国产 | 三级在线国产 | 亚洲国产精品一区二区久久,亚洲午夜 | 99久久电影| se婷婷| 99久久精品无码一区二区毛片 | www国产一区 | 色综合天天干 | 免费成人看片 | 黄色成人在线观看 | 亚洲一区久久久 | 久久免费国产电影 | 久久在线免费视频 | 看av免费 | 97视频在线观看播放 | 激情久久伊人 | 久久艹艹 | 天天色官网 | 亚洲高清在线视频 | 国产精品久久久久一区二区 | 成人九九视频 | 日韩区欧美久久久无人区 | 天天干 天天摸 天天操 | 97国产在线 | 黄色网址在线播放 | 成人免费大片黄在线播放 | 久久a热6 | 欧美激情第一区 | 最近中文字幕久久 | 日韩欧美在线观看一区二区 | 国产中文 | 日韩中文字幕免费视频 | 日韩欧美有码在线 | 国产福利一区在线观看 | 亚州国产精品视频 | 日韩色中色| 婷婷综合亚洲 | 麻豆视频免费在线观看 | 国产精品国产三级国产aⅴ入口 | 国产人成在线观看 | av手机版 | 天天草天天干 | 日韩欧美高清一区二区三区 | 国产精品美女视频网站 | 国产麻豆剧果冻传媒视频播放量 | 狠狠操电影网 | 久久久久高清 | 天堂黄色片 | 一区二区三区在线观看中文字幕 | 欧美激情第八页 | 久久久久国产一区二区三区 | 亚洲永久精品在线 | 不卡av免费在线观看 | 成年人在线播放视频 | 国内揄拍国内精品 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 天天摸天天操天天爽 | 色吧av色av | 国产免费久久av | 久久精品欧美一区 | 超碰国产在线播放 | 日韩中文字幕免费视频 | 精品国产一区二区三区蜜臀 | 亚洲国产日韩欧美在线 | 久久视频在线观看中文字幕 | 久久精品伊人 | 日韩免费在线观看视频 | 欧美一二区在线 | 久久综合久久综合九色 | 国产日韩欧美在线播放 | 五月天天色 | 97手机电影网 | 久久久黄色 | 精品在线观看免费 | 精品久久久久久久久中文字幕 | 手机看片久久 | 夜夜澡人模人人添人人看 | 911精品美国片911久久久 | www黄色| 97超碰成人 | 人人插超碰 | 午夜精品福利在线 | 国产精品igao视频网入口 | 亚洲人成免费网站 | 日韩中文字幕亚洲一区二区va在线 | 激情视频一区 | 二区中文字幕 | 狠狠狠操 | 国产美女精品 | 玖玖爱免费视频 | 又湿又紧又大又爽a视频国产 | 亚洲精品在线观看网站 | 日韩xxxxxxxxx | 97视频在线观看网址 | 国产成人1区 | 亚洲综合最新在线 | 国产乱对白刺激视频在线观看女王 | 国产日韩中文字幕在线 | 日韩网站一区二区 | 91亚洲精品国偷拍自产在线观看 | 成人小视频在线观看免费 | 国产高清视频免费 | 国产精品精品久久久久久 | 99热精品在线观看 | 五月精品 | 91看片网址 | 婷婷在线视频 | 亚洲精品字幕在线观看 | 欧美视频在线观看免费网址 | 日韩高清在线一区二区 | 国产一区在线观看视频 | 最近中文字幕视频完整版 | 婷婷色综合网 | 国产精品18久久久久久久久 | 国产精品丝袜 | 国产精品成人一区 | 黄色毛片视频 | 日本精品中文字幕在线观看 | 亚洲在线精品视频 | 国产亚洲在线观看 | 色综合久久精品 | 久久6精品 | 天天操夜夜看 | 91av99| 色a在线观看 | 黄色一级免费网站 | 亚洲精品免费在线 | 麻豆一级视频 | 精品xxx | 成人国产亚洲 | 91亚色视频在线观看 | www.av免费 | 91精品网站 | 91av视频观看 | 久久精品官网 | 久久爱综合 | 波多野结衣小视频 | 日韩美女免费线视频 | 欧美性生活一级片 | 国产一区二区在线免费播放 | 国产又粗又猛又爽又黄的视频免费 | 在线视频区 | 99免费在线视频 | 中文字幕网站视频在线 | 免费久草视频 | 免费成人结看片 | 91麻豆精品国产91久久久久久久久 | 在线观看韩国av | 日韩激情精品 | www亚洲国产 | 99热精品久久 | 国产成人精品久久久久 | 91xav| 午夜av免费在线观看 | 日韩av看片 | 日韩久久精品一区二区 | 国产a网站| 国产综合视频在线观看 | 色香com.| 91香蕉视频污在线 | 国产拍在线| 又紧又大又爽精品一区二区 | 亚洲性xxxx| 久久香蕉电影网 | 色香网 | 日本动漫做毛片一区二区 | 91av原创| 91精品爽啪蜜夜国产在线播放 | 国产亚洲欧美精品久久久久久 | 天天天天天天天操 | 久久草av | 最近中文字幕大全中文字幕免费 | 在线观看av黄色 | 奇米7777狠狠狠琪琪视频 | 久久精品视频网址 | 91成人免费观看视频 | 国产一级精品在线观看 | 久久第四色 | 国产黄a三级三级三级三级三级 | av资源免费看 | 少妇bbw揉bbb欧美 | 久草免费手机视频 | 欧美日韩视频在线 | 日本三级久久 | 国产精品久久久久一区二区三区共 | 色综合久久网 | 欧美激情综合五月 | 久久欧洲视频 | 99热这里只有精品1 av中文字幕日韩 | 欧美成人精品欧美一级乱 | 久久久久夜色 | 国产精品毛片一区二区在线看 | 不卡av免费在线观看 | 婷婷干五月 | 51精品国自产在线 | 日本黄色大片儿 | 欧美精品黑人性xxxx | 久色 网 | 免费a视频在线 | 91视频免费看网站 | 日韩在线视频免费观看 | 免费的国产精品 | 99这里只有精品99 | 久久久精品网 | 97电影在线看视频 | 久久亚洲人 | 国产欧美日韩精品一区二区免费 | 一本一道波多野毛片中文在线 | 亚洲综合一区二区精品导航 | 久久超级碰 | 中文字幕日本在线观看 | 日韩在线免费高清视频 | 日韩av进入 | 免费在线黄网 | 久久久久久久久国产 | aaa毛片视频 | 亚洲欧美日韩中文在线 | 日韩免费视频观看 | 成人黄色大片在线观看 | 97国产在线播放 | 久久久久久久久久久国产精品 | 在线观看国产一区二区 | 精品视频免费观看 | 婷婷色在线播放 | 日韩手机在线观看 | 人人爽人人爽人人爽学生一级 | 亚洲精品激情 | 日韩在线不卡 | 亚洲3级| 久久久在线免费观看 | 久久深夜| 亚洲一级久久 | 国产网站色 | 最近中文字幕国语免费av | 国产91在线观看 | 国产三级在线播放 | 99久久99久久 | 激情婷婷 | 色av色av色av| 日韩在线视频免费看 | 最近中文字幕在线播放 | 中文字幕色在线视频 | 伊人中文网 | 亚洲久草网| 日韩精品电影在线播放 | 毛片网在线播放 | 国产成人精品一区二区三区在线 | 久99久在线| 一级a性色生活片久久毛片波多野 | 69av免费视频 | 欧美日韩国产在线 | 日韩av看片 | 久久久久久久99精品免费观看 | 久久久久久97三级 | 久久久久久久久久久黄色 | 亚洲精品国产精品久久99 | 欧美视频二区 | 国产 日韩 欧美 中文 在线播放 | 91精品久久久久久久久久久久久 | 国产一级视频在线免费观看 | 国产精品一区二区麻豆 | 国产精品视频最多的网站 | 亚洲精品视 | 色噜噜在线观看 | 青青啪 | 激情综合网五月 | 免费成人短视频 | 午夜 免费 | 国产美女免费观看 | 麻豆视频在线 | 在线免费性生活片 | 亚洲一区二区精品3399 | 最新免费av在线 | 亚洲 欧洲av | 欧美精品三级在线观看 | a在线视频v视频 | 国产亚洲精品美女久久 | 中文字幕中文 | 亚洲日日日| 国产精品成人久久久 | 999在线视频| 日韩乱理| 成人在线黄色电影 | 久久天堂网站 | 国产精品ⅴa有声小说 | 狠狠干成人综合网 | 久久久久久久久影视 | 日韩精品综合在线 | 91久久黄色| 久久新 | 日本福利视频在线 | 精品亚洲在线 | 麻豆影视在线免费观看 | 99久久精品国产一区二区成人 | 草免费视频 | 在线视频婷婷 | 国产男男gay做爰 | www成人av| 国产九九热视频 | 免费三级黄色 | 人人干人人超 | 亚洲欧美国内爽妇网 | 天天操天天射天天添 | 欧美日韩精品在线免费观看 | 国产在线va| 日本夜夜草视频网站 | 亚洲专区视频在线观看 | 亚洲国产精品电影 | 日本特黄一级片 | 日韩大片免费观看 | 日日夜夜精品免费 | 骄小bbw搡bbbb揉bbbb | 日韩精品中文字幕在线不卡尤物 | 成人午夜电影在线观看 | 日本在线观看一区二区三区 | 日韩精品免费专区 | 欧美精品二 | 超碰午夜| 超碰在线9| 在线成人免费电影 | 人人草人人草 | 婷婷激情综合五月天 | 五月婷婷深开心 | 国产精品第10页 | 激情电影在线观看 | 中文字幕在线看视频国产中文版 | 亚洲国产免费看 | 五月激情五月激情 | av成人动漫在线观看 | v片在线播放| 国产91免费观看 | 亚洲国产日韩欧美在线 | 女人魂免费观看 | 日韩一区二区免费播放 | 日韩精品免费一区 | 日本久久久影视 | 成人动漫一区二区三区 | 黄色大片国产 | www.综合网.com | 一区二区不卡高清 | 成人毛片在线观看 | 丁香激情综合久久伊人久久 | 黄色一级免费电影 | 九九在线国产视频 | 国产精品av在线 | 国产精品一区二区精品视频免费看 | 在线播放视频一区 | 在线观看免费视频你懂的 | 欧日韩在线 | 九九九九九九精品任你躁 | 日日干夜夜爱 | 国产精品久久久久久久久久久久午夜 | 91天天操 | 一区二区亚洲精品 | 午夜 久久 tv| 最近日本字幕mv免费观看在线 | 亚洲日本三级 | 日韩xxxbbb | 91久久国产精品 | 国产伦精品一区二区三区照片91 | 亚洲婷婷丁香 | 91视频国产免费 | 特级黄录像视频 | 日韩高清二区 | 国产精品欧美久久久久天天影视 | 亚洲精品乱码久久久久久高潮 | 婷婷伊人五月 | 中文字幕在线观看1 | 91大神免费视频 | 色综合久久88色综合天天人守婷 | 99理论片 | 欧美精品久久久久久久久久 | 精品一区三区 | 最近中文字幕免费视频 | 日本中文不卡 | 免费91麻豆精品国产自产在线观看 | 香蕉久久久久久久 | 婷婷在线免费观看 | 欧美日韩视频在线播放 | 天天爱天天操天天射 | 激情动态| 日韩欧美一区二区三区视频 | 日韩高清一区二区 | 最新中文字幕在线资源 | 久久深夜福利免费观看 | 在线观看资源 | 欧美色综合天天久久综合精品 | 狠狠色狠狠色综合系列 | 久久精品精品电影网 | 国产精品一区二区久久久 | 九九九热精品免费视频观看 | 黄色福利视频网站 | 深爱激情婷婷网 | 成人理论在线观看 | 在线日韩| 日韩大片在线免费观看 | 亚洲一级国产 | 日日摸日日添夜夜爽97 | 国产色爽 | 99免费在线播放99久久免费 | av观看在线观看 | 一本一本久久aa综合精品 | 成人av片免费观看app下载 | 天天综合网 天天 | 免费a一级 | 日本韩国在线不卡 | 成人动漫视频在线 | 免费观看的av | 人人澡人人添人人爽一区二区 | 欧美日韩一区二区三区在线免费观看 | 久久成人综合 | 国产99中文字幕 | 黄色三级免费看 | 亚洲欧美日本一区二区三区 | 欧美精品做受xxx性少妇 | 在线观看911视频 | 人人爽人人爽人人片 | 免费看黄色小说的网站 | av丝袜制服 | 精品在线视频一区二区三区 | 国产精品久久电影观看 | 中文字幕日韩伦理 | 欧美成人性网 | 在线免费高清 | 在线你懂 | 成人免费 在线播放 | 免费麻豆网站 | 国产品久精国精产拍 | 国产午夜精品一区二区三区嫩草 | 91精品视频一区二区三区 | 日韩免费电影一区二区三区 | 在线看的av网站 | 亚州精品天堂中文字幕 | 国产在线无 | 成人黄色av免费在线观看 | 最近2019年日本中文免费字幕 | 五月婷激情 | 曰本免费av | 日韩大片在线观看 | 狠狠色丁香婷婷综合欧美 | 一区二区三区国产精品 | 少妇搡bbbb搡bbb搡aa | 免费看v片 | 日日干美女 | 9在线观看免费高清完整版在线观看明 | 亚洲一区欧美精品 | 在线观看视频你懂的 | 91在线国产观看 | 欧美最猛性xxxxx免费 | 日本在线观看一区二区三区 | 免费观看一区二区三区视频 | 久久99精品久久久久婷婷 | 三级av网| 国产精品黑丝在线观看 | 日韩久久在线 | 久射网 | 色综合久久久久久久 | 激情网在线观看 | 2022久久国产露脸精品国产 | 国产精品欧美激情在线观看 | 午夜久久久久久久 | 久久综合国产伦精品免费 | 五月婷香蕉久色在线看 | 成年人视频在线免费播放 | 久久香蕉影视 | 日韩精品国产一区 | 中文字幕免费观看 | 色的网站在线观看 | 日韩在线视频免费播放 | 成人在线黄色电影 | 亚洲视频2 | 天天综合网天天综合色 | 色老板在线 | 在线播放精品一区二区三区 | 亚洲精品玖玖玖av在线看 | 少妇精品久久久一区二区免费 | 亚洲成 人精品 | 亚洲欧美乱综合图片区小说区 | 青青河边草免费观看完整版高清 | 欧美亚洲国产一卡 | 免费看一及片 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 午夜精品影院 | 午夜精品电影一区二区在线 | 中日韩在线视频 | 婷婷色中文字幕 | 欧美一级片免费在线观看 | 久久精品视频免费观看 | 99精品视频免费 | 四虎永久免费在线观看 | 91在线色 | 久久精品三 | 中文字幕免费高清av | 99精品在线视频播放 | 97超碰在线人人 | 日韩三级视频 | 国产精品久久久久久久久久久久午夜片 | 欧美一级裸体视频 | 在线香蕉视频 | 97超碰在线久草超碰在线观看 | 国产精品第7页 | 国偷自产视频一区二区久 | 国产色小视频 | 在线成人免费 | 国产精品综合在线 | 一级a性色生活片久久毛片波多野 | 麻豆系列在线观看 | 精品国产成人 | 久久午夜免费观看 | 国产福利91精品一区 | av色综合网 | 日韩中文字幕一区 | 久久国产一二区 | 99视频精品全部免费 在线 | 波多野结衣小视频 | 超碰97成人 | 国产女人免费看a级丨片 | 中文字幕一区二区三区四区视频 | 中文在线字幕免费观 | 欧美精品一区在线发布 | 亚洲激情在线视频 | 久久成人麻豆午夜电影 | 97色噜噜 | 天天综合网在线 | 亚洲午夜久久久久久久久 | 18岁免费看片 | 丰满少妇在线观看资源站 | 国产糖心vlog在线观看 | 天天干天天射天天操 | 国产精品一区二区在线看 | 日韩精品在线免费观看 | 亚洲免费av在线 | 欧美少妇xx | 一区二区三区在线观看中文字幕 | 少妇av网| a'aaa级片在线观看 | 亚洲播放一区 | 日韩精品一区在线观看 | 色资源网免费观看视频 | 久久99在线视频 | 操操操影院 | 国产 日韩 中文字幕 | av成年人电影 | 黄色国产精品 | 亚洲国产精品久久久久 | 黄网站色欧美视频 | 亚洲国产精品va在线看黑人 | 国产中文字幕视频在线观看 | 人人爽人人爽人人片av | 丁香九月激情综合 | 中文字幕在线观看一区 | av免费电影网站 | 日韩理论在线观看 | 91片黄在线观看 | 日韩av偷拍 | 成片免费观看视频 | 天天操导航 | 久久综合九色综合久99 | 最近日韩中文字幕中文 | 国产裸体无遮挡 | 超碰97国产在线 | 免费看v片 | 521色香蕉网站在线观看 | 999成人免费视频 | 天堂av最新网址 | 亚洲一区二区天堂 | 啪啪免费试看 | 四虎在线视频免费观看 | 婷婷日日| 天天操天天操天天操天天 | 亚洲一区二区三区在线看 | 免费高清在线观看成人 | 亚洲欧美精品一区二区 | 丁香婷五月 | 中文字幕免费成人 | 国产成人精品久久二区二区 | 97国产大学生情侣酒店的特点 | av成人动漫在线观看 | 中文字幕一区二区三区四区视频 | 国产系列精品av | 99国内精品久久久久久久 | 国产日韩精品一区二区三区 | 精品亚洲成人 | 久久久精品国产一区二区电影四季 | 欧美精品久久久久久久久久白贞 | 久久国产精品成人免费浪潮 | 亚洲国产成人精品电影在线观看 | 五月天国产精品 | 国产美女视频免费 | 91精品资源| 狠狠色丁香婷婷综合久小说久 | 亚洲黄色在线观看 | 黄色影院在线观看 | 欧美午夜精品久久久久久孕妇 | 国产精品专区在线观看 | 涩涩伊人 | 免费看三级黄色片 | 久久久久久蜜av免费网站 | 天天射射天天 | 国产专区精品 | 日韩av午夜在线观看 | 久久视频这里有久久精品视频11 | 亚洲国产精品推荐 | 在线91精品| 综合激情av | 碰超在线| 久久久精品亚洲 | 欧美日韩69| 久草免费在线观看视频 | 国产成视频在线观看 | 久久黄色免费观看 | 免费黄色特级片 | 午夜精品久久久久久中宇69 | 久久午夜电影网 | 国产精品电影一区 | 国产精品6999成人免费视频 | 999国产精品视频 | 日韩一二区在线 | 亚洲精品国偷自产在线99热 | a极黄色片 | 日韩一级电影网站 | 久艹在线免费观看 | 91在线视频网址 | av中文字幕在线播放 | 精品欧美日韩 | 狠狠干天天色 | 国产私拍在线 | 久久激情影院 | 天天干天天操人体 | 日本三级香港三级人妇99 | 中文字幕免费一区二区 | 国产激情电影综合在线看 | 久99久视频 | 免费黄色av片 | 在线观看一级视频 | 91大神精品视频在线观看 | 成人av在线一区二区 | 国产精品黄色在线观看 | 国产视频在线一区二区 | 国产一区二区三区视频在线 | 四虎成人网| 99精品在线直播 | 91亚洲精品久久久蜜桃网站 | 免费看国产曰批40分钟 | 欧美另类性 | 四虎永久免费在线观看 | 天天操天天干天天爱 | 日本美女xx | 黄色av一区二区 | 欧美日在线观看 | 91精品啪在线观看国产线免费 | www黄色软件 | 啪啪动态视频 | 欧美日韩中文字幕在线视频 | 亚洲观看黄色网 | 成年人视频在线免费观看 | 久久久久黄色 | 麻花传媒mv免费观看 | 激情五月六月婷婷 | 欧美天天射 | 国产资源av | 奇米影视777影音先锋 | 91成人精品一区在线播放69 | 不卡av在线免费观看 | 一区二区三区免费在线 | 麻豆视频免费在线观看 | 国产高清视频免费观看 | 激情av资源| 天堂久色 | 日韩毛片在线免费观看 | 久久久免费精品国产一区二区 | 欧美一级电影免费观看 | 99在线热播精品免费99热 | 午夜精品久久久久久久99热影院 | 96视频免费在线观看 | 天天摸夜夜添 | av在线电影免费观看 | 欧洲视频一区 | 麻豆精品国产传媒 | 久久精品站 | 午夜在线免费观看视频 | 婷婷综合成人 | 青草视频在线 | 99综合视频 | 国产日产精品一区二区三区四区 | 一区二区三区电影大全 | 色全色在线资源网 | 99热这里只有精品国产首页 | 色网免费观看 | 日韩精品一区二区三区中文字幕 | 日日操天天射 | 激情婷婷综合网 | 成年人视频免费在线播放 | 成人av免费看 | 欧美三人交 | 国产一区二区免费 | 丁香六月激情 | 亚洲精品国精品久久99热一 | 国产群p | 国产亚洲精品久久久久久无几年桃 | 国产精品av久久久久久无 | 亚洲乱码在线观看 | 日本三级香港三级人妇99 | 国产码电影 | 日韩av进入 | 99精彩视频在线观看免费 | 一区在线电影 | 麻豆果冻剧传媒在线播放 | 人人草网站 | 国产精品女视频 | 精品在线观看一区二区三区 | 国内久久久 | 欧美日韩二区在线 | 日本一区二区三区视频在线播放 | 三级av中文字幕 | 视频在线观看入口黄最新永久免费国产 | 国产精品自产拍在线观看桃花 | 中文视频在线看 | 亚洲精品免费在线观看 | 久久精品99久久 | 国产亚洲婷婷免费 | 久久夜色精品国产欧美一区麻豆 | 成人丁香花 | 日日爱影视 | 婷婷网站天天婷婷网站 | 中文字幕成人在线 | 五月天久久| 国产成人精品久 | 亚洲精品乱码久久久久久蜜桃不爽 | 国产精品扒开做爽爽的视频 | 国产免费三级在线观看 | 亚洲精品字幕在线观看 | 黄色在线免费观看网址 | 久久99精品久久久久久三级 | 高清精品久久 | 一区在线播放 | 日日操天天操夜夜操 | 日韩av线观看 | 亚洲综合干 | 国产精品成人免费精品自在线观看 | 黄色影院在线免费观看 | www免费黄色| 在线免费观看视频一区 | а天堂中文最新一区二区三区 | 99精品黄色片免费大全 | 五月婷婷视频在线 | 日韩电影一区二区三区在线观看 | 美女久久久久久久久久 | 成人av av在线| 日本公乱妇视频 | 亚洲精品网站 | 三级av中文字幕 | 国产亚洲精品v | 人人狠狠综合久久亚洲 | 国产精品一区二区精品视频免费看 | 亚洲国产精品500在线观看 | 免费性网站| 午夜精品视频在线 | 日韩中文在线字幕 | 免费在线观看午夜视频 | 手机看片中文字幕 | 999久久久久久久久久久 | 天天操天天爱天天干 | 一级α片 | a午夜在线 | 日韩精选在线 | 久久国产美女视频 | 久久亚洲成人网 | 91色在线观看视频 | 中文字幕色综合网 | 亚洲欧美日韩精品久久奇米一区 | 夜色成人av | 日韩视频免费 | 一级一片免费视频 | 在线观看国产区 | 国产成人精品av在线观 | 亚洲精品视频一 | 最新中文字幕在线资源 | 欧美激情第一区 | av中文在线| 婷婷丁香自拍 | 丁香六月伊人 | 四虎国产永久在线精品 | 国产玖玖在线 | 日韩一级电影在线 | 精品嫩模福利一区二区蜜臀 | 午夜精品久久久久久久99热影院 | 欧美最猛性xxxxx免费 | 天天操夜夜操夜夜操 | 国产系列 在线观看 | 久久激五月天综合精品 | 欧美激情视频一区二区三区免费 | 精品久久电影 | 丁香婷婷综合网 | 天天干夜夜夜 | 天天爽天天摸 | 亚洲最大av网站 | 日韩av播放在线 | 国产福利精品视频 | 亚洲成av人影片在线观看 | 午夜精品视频一区 | 亚洲精品1234区 | 在线观看免费 | 中文字幕资源网在线观看 | 99精品欧美一区二区三区黑人哦 | 极品久久久 | 国产在线日本 | 97碰碰精品嫩模在线播放 | 久久99久久99精品免观看粉嫩 | 日韩视频一区二区三区在线播放免费观看 | 天天操导航 | 久久在草 | 精品久久久久久国产 | 国产专区精品 | 波多野结衣一区二区三区中文字幕 | 91午夜精品 | 69成人在线 | 免费在线黄| 人人澡澡人人 | 91在线影院 | 国产亚洲精品久久久久久电影 | 久草免费在线视频观看 | www.香蕉视频 | 午夜男人影院 | 日韩高清三区 | 91在线精品秘密一区二区 | 亚洲九九九在线观看 | 91亚洲国产| 国产黄色精品视频 | 美女一级毛片视频 | 国产不卡在线播放 | 91精品办公室少妇高潮对白 | 国产精品99久久久久久久久 | 日韩精品播放 | 日韩精品中文字幕在线播放 | 中文日韩在线视频 | 中文字幕人成乱码在线观看 | 日韩a在线| 欧美一级片免费 | 久久亚洲国产精品 | 国产一区在线免费观看 | 久久久久久久久久久久av | 99热精品在线观看 | 日韩精品一区二区三区视频播放 | av网站地址 | 久久综合色天天久久综合图片 | 韩国av一区二区 | 日韩黄色免费 | av中文电影 | 五月婷婷丁香综合 | 成人网色 | 国产免费叼嘿网站免费 | 伊人久久一区 | 女人18毛片90分钟 | 99在线精品免费视频九九视 | 国产在线理论片 | 国产在线视频一区 | 国产一区二区在线免费 | 岛国av在线免费 | 日韩精品久久一区二区 | 黄色美女免费网站 | 伊人官网 | 99久久久国产精品免费观看 | 国产精品久久久久影视 | 伊人国产视频 | 九九亚洲视频 | 精品中文字幕视频 | 激情丁香综合五月 | 麻豆视频观看 | 在线视频一区二区 | 婷色在线 | 欧美国产大片 | 808电影 | 丝袜制服天堂 | 国产精品国产亚洲精品看不卡15 | 五月天色婷婷丁香 | 2018亚洲男人天堂 | 69国产盗摄一区二区三区五区 | 亚洲午夜av电影 | 久久视频免费在线观看 | 奇米影视8888| 97人人澡人人爽人人模亚洲 | 精品久久一| 国产露脸91国语对白 | 伊人小视频 | 国产一区二区不卡视频 | 久久国语 | 99色亚洲 | 欧美视频日韩视频 | 日韩欧美一区二区三区在线 | 亚洲午夜激情网 | 中文字幕亚洲综合久久五月天色无吗'' | 99夜色 | 久久免费视频一区 | 日韩精品在线免费观看 | 欧美a√大片| 99中文视频在线 | 国产精品久久久久久久久岛 | 中文在线免费观看 | 欧美亚洲精品一区 | 午夜精品久久久久久久99水蜜桃 | 四虎在线观看 | 草久在线播放 | www.成人精品 | 99在线精品观看 | 黄色成年片 | 日韩乱理 | 中文字幕在线视频第一页 | 国产xxxx做受性欧美88 | 久久综合九色综合久99 | 成片视频免费观看 | 国产精品99久久久久久久久久久久 | 国产精品一区二区62 | 久草av在线播放 | 久久美女高清视频 | 波多野结衣在线播放一区 | 97超碰中文| 国产不卡精品视频 | 麻豆视频免费在线观看 | 青草视频网 |