SqlSugar 简易操作数据库

提示:记得NuGet先引用 SqlSugar 和 Mysql.Data (连接MySql 数据库要用到)
  • 先配置要连接的数据库

public static SqlSugarClient GetDBConnection()
       {
           SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() {
               //数据库链接
               //Mysql数据库
               ConnectionString = "database = 数据库名称;Data Source = 连接ip地址 ; User Id = 账号; pwd =密码;",
               //sql server数据库
               //ConnectionString = "server=服务链接;uid=账号;pwd=密码;database=数据库名称",
               //设置数据库类型(记得随着链接的数据库类型而改动)
               DbType = DbType.MySql,
               //自动释放数据务,如果存在事务,在事务结束后释放 
               IsAutoCloseConnection = true,
               //从实体特性中读取主键自增列信息 
               InitKeyType = InitKeyType.Attribute
           }); 
           db.Aop.OnLogExecuting = (sql, pars) =>
           {
               //Console.WriteLine(sql + "\r\n" + db.Utilities.SerializeObject(pars.ToDictionary(it=>it.ParameterName,it=>it.Value)));
               //Console.WriteLine();
           };
           return db;
           
  • 再进行简单调用(主要利用SqlSugar ,可以避免写一大串sql 语句)
 public void SqlSugarTest()
       {
           //获取连接数据库配置
           var db = SqlSugarHelper.GetDBConnection();
           //查询
           var list = db.Queryable<Student>().Where(it=>it.Id==1).ToList();
           //查询(带条件)
           var listone = db.Queryable<TBCookieinfo>().Where(it=>it.Id==1).ToList();
           //根据条件查询(包含分页)
           var total = 0;//总数
           var getPage = db.Queryable<Student>().Where(it => it.Sex == "男").ToPageList(2, 2, ref total);

           //添加
           var data = new Student { Name="小黑",Age=18,Sex="男",Money=100,CreateTime=DateTime.Now};
           var count = db.Insertable(data).ExecuteCommand();
           //常规写法
           var countone = db.Insertable(new Student()
           {
                Name="JACK",
                Age=18,
                Sex="男",
                Money=100,
                CreateTime =DateTime.Now
            }).ExecuteCommand();

           //更新
           var stuone = db.Queryable<Student>().Where(q => q.Id == 1).First();
           stuone.Name = "Black JACK";
           var counttwo = db.Updateable(stuone).ExecuteCommand();
           //删除(根据主键删除)
           var countthree = db.Deleteable<Student>(5).ExecuteCommand();
           
           //两表关联查询(返回一个新类)
           var listone = db.Queryable<Student, StudentInfo>((st, sc) => new JoinQueryInfos(JoinType.Left, st.Id == sc.studentId)).Where((st,sc)=>sc.studentId==1)
                         .Select((st, sc) => new NewStudent//新类名称
                         {
                             Id=st.Id,
                             Name=st.Name,
                             Age=st.Age,
                             Sex=st.Sex,
                             Hobby=sc.hobby,
                             Classname=sc.classname,
                             Teacher=sc.teacher
                         }).ToList();


       }

注:其中添加、修改、删除等数据操作都可通过ExecuteCommand()方法来执行,只需要判断返回影响行数即可知道是否执行成功。
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值