SqlSugar之DbContext

创建一个DbContext和DbSet进行使用,我们可以在DbSet中进行扩展我们的方法

 //可以直接用SimpleClient也可以扩展一个自个的类 
    //推荐直接用 SimpleClient 
    //为了照顾需要扩展的朋友,我们就来扩展一个SimpleClient,取名叫DbSet
    public class DbSet<T> : SimpleClient<T> where T : class, new()
    {
        public DbSet(SqlSugarClient context) : base(context)
        {

        }
        //SimpleClient中的方法满足不了你,你可以扩展自已的方法

        /// <summary>
        /// 返回可迭代的
        /// </summary>
        /// <returns></returns>
        public ISugarQueryable<T> AsQueryable()
        {
            return Context.Queryable<T>();
        }

        /// <summary>
        /// 执行SQL语句
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public ISugarQueryable<T> Sql(string sql)
        {
            return Context.SqlQueryable<T>(sql);
        }

    }

    //创建一个DbContext类,使用DbSet(或者SimpleClient)
    public class DbContext
    {
        public DbContext()
        {
            Db = new SqlSugarClient(new ConnectionConfig()
            {
                ConnectionString = "Data Source = *; User ID = *; Password = *; ",
                DbType = DbType.Oracle,
                IsAutoCloseConnection = true,
                InitKeyType = InitKeyType.Attribute
            });

            ////调式代码 用来打印SQL 
            //Db.Aop.OnLogExecuting = (sql, pars) =>
            //{
            //    Console.WriteLine(sql + "\r\n" +
            //        Db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
            //    Console.WriteLine();
            //};


        }
        public SqlSugarClient Db;//用来处理事务多表查询和复杂的操作

        public DbSet<DemoStudent> DemoStudentDb => new DbSet<DemoStudent>(Db);    

    }

 

使用:

  //  dbOracle.Classa.AsQueryable() 你可以不必每次都要去ToList转型

var datas = dbOracle.TManagementsinfos.AsQueryable().Where(x => x.Grouptype == 3 && x.Deptcode == "20107").Select(x => new { name = x.Managename, value = x.Username }).ToList();
//执行Sql语句
      List<CcBusiAdviceview> data = dbContext.CcBusiAdviceviews.Sql(sql).ToList();

 

转载于:https://www.cnblogs.com/Sea1ee/p/10269380.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值