IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10") .UseAutoSyncStructure(true) //自動同步實體結構到數據庫 .Build(); [Table(Name = "tb_topic")] class Topic { [Column(IsIdentity = true, IsPrimary = true)] public int Id { get; set; } public int Clicks { get; set; } public int TestTypeInfoGuid { get; set; } public string Title { get; set; } public DateTime CreateTime { get; set; } } ISelect<Topic> select => fsql.Select<Topic>();
var sql = select.Page(1, 20).ToSql(); ///SELECT a.`Id`, a.`Clicks`, a.`TestTypeInfoGuid`, a.`Title`, a.`CreateTime` //FROM `tb_topic` a //LIMIT 0,20
SqlServer 2012 之前的版本,使用 row_number 分頁;html
SqlServer 2012+ 版本,使用最新的 fetch next rows 分頁;sql
返回前10條記錄:select.Take(10).ToList();數據庫
跳過前10條記錄,返回記錄:select.Offset(10).ToList();api
方法 | 返回值 | 參數 | 描述 |
---|---|---|---|
ToSql | string | 返回即將執行的SQL語句 | |
ToList | List
|
執行SQL查詢,返回 T1 實體全部字段的記錄,若存在導航屬性則一塊兒查詢返回,記錄不存在時返回 Count 爲 0 的列表 | |
ToList<T> | List<T> | Lambda | 執行SQL查詢,返回指定字段的記錄,記錄不存在時返回 Count 爲 0 的列表 |
ToList<T> | List<T> | string field | 執行SQL查詢,返回 field 指定字段的記錄,並以元組或基礎類型(int,string,long)接收,記錄不存在時返回 Count 爲 0 的列表 |
【分頁】 | |||
Count | long | 查詢的記錄數量 | |
Count | <this> | out long | 查詢的記錄數量,以參數out形式返回 |
Skip | <this> | int offset | 查詢向後偏移行數 |
Offset | <this> | int offset | 查詢向後偏移行數 |
Limit | <this> | int limit | 查詢多少條數據 |
Take | <this> | int limit | 查詢多少條數據 |
Page | <this> | int pageIndex, int pageSize | 分頁 |