ASP.NET - SqlSugar ORM框架 更新列表

孫凱旋發表於2016-01-07

以後SqlSugar所有更新都會在這個貼子更新

 

SqlSugar是一款輕量級的MSSQL ORM ,除了具有媲美ADO的效能外還具有和EF相似簡單易用的語法。

學習列表

  0、功能更新

 1、SqlSugar基礎應用

 2、使用SqlSugar處理大資料

 3、使用SqlSugar實現Join  待更新

 4、使用SqlSugar實現分頁+分組+多列排序 待更新

 5、節點故障如何進行主從調換

 

版本2.1/2016-1-7:

多表查詢 新增 自動生成  實體類  的字串函式(雖然有生帶的實體生成類,這兒提供一個更方便的解決方案)

 

1、將原本的SelectToList<V_Student>寫成 ToClass,因為我們還沒有V_Student這個類

 

2、複製list中的字串,建創到V_Student裡面

 

3、將ToClass改成SelectToList完成

 

 

 

 

自動獲取頁面引數:

在特定的情況下可以減少控制器和服務層之間的引數傳遞

 

紅色部分省略掉了,減少引數賦值 如圖:

 db.Queryable<Student>().Where("id=@id",new {id=Request["id"]}).ToList()

 

看一看GetParameterDictionary的好處吧,有多少條件寫多少Where

 

 

現在Foreach搞定

 

 

多庫架構新增多欄位排序

 

 

2016/2/14

版本2.1.0.1

使用queryable 查詢時,可以類名與表名不一樣

 

2016/2/14

版本2.1.0.2

 

 

 

 

 

2016/2/14

版本2.1.0.3

新增功能:可以生成檢視類

 

 

2016/2/14

版本2.1.0.6

支援無引數更新:   db.Update(new School { id = id, name = "藍翔2" });

MAPPING 表名支援  添、刪和改 

 

2016/5/12

版本 2.2

修復個別BUG

新增許可權全域性過濾器功能

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SqlSugar;
using WebTest.Dao;
using Models;

namespace WebTest.NewDemo
{
    public partial class Filter : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            using (SqlSugarClient db = SugarDaoFilter.GetInstance())//開啟資料庫連線
            {
                //queryable
                db.CurrentFilterKey = "role";
                var list = db.Queryable<Student>().ToList(); //通過全域性過濾器對需要許可權驗證的數程式碼進行過濾
                //相當於db.Queryable<Student>().Where("id=@id",new{id=1})



                //sqlable
                var list2 = db.Sqlable().Form<Student>("s").SelectToList<Student>("*");
                //相當於同上
            }

        }
    }
    /// <summary>
    /// 擴充套件SqlSugarClient
    /// </summary>
    public class SugarDaoFilter
    {
        //禁止例項化
        private SugarDaoFilter()
        {

        }
        /// <summary>
        /// 頁面所需要的過濾函式
        /// </summary>
        private static Dictionary<string, KeyValueObj> _filterParas = new Dictionary<string, KeyValueObj>()
        {
          { "role",new KeyValueObj(){ Key=" id=@id" , Value=new{ id=1}}},
          { "org",new KeyValueObj(){ Key=" orgId=@orgId" , Value=new{ orgId=1}}},
        };
        public static SqlSugarClient GetInstance()
        {
            string connection = System.Configuration.ConfigurationManager.ConnectionStrings[@"sqlConn"].ToString(); //這裡可以動態根據cookies或session實現多庫切換
            var reval = new SqlSugarClient(connection);
            reval.SetFilterFilterParas(_filterParas);
            return reval;
        }
    }
}

 

 

 

 2016/6/23

 版本2.3.2.0.

多表查詢 支援反回動態方法和JSON

更新指新增了 可以指定不更新的列

更新新增了 非主鍵自添列自動過濾功能

支援返回  <string[]>

支援返回  <int> <string> 以外的更多值型別

支援反回 字典型別

 

相關文章