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

以后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> 以外的更多值类型

支持反回 字典类型

 

posted @ 2016-01-07 14:29  阿妮亚  阅读(7188)  评论(3编辑  收藏  举报