菜的像徐坤
排名
7
文章
192
粉丝
15
评论
16
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

freesql 增删改查

6784人阅读 2022/1/3 22:09 总访问:1020996 评论:0 收藏:0 手机
分类: Free sql

前言

freesql 基础(增删改查)

先添加依赖

  1.      private readonly ILogger<HomeController> _logger;
  2.         private readonly IFreeSql _FreeSql = null;
  3.         public HomeController(ILogger<HomeController> logger, IStudent student, IFreeSql FreeSql)
  4.         {
  5.             _logger = logger;
  6.             _FreeSql = FreeSql;
  7.         }

增加

  1.             //增加
  2.             Student student = new Student();
  3.             //查询最大ID 
  4.             student.SId = (Convert.ToInt32(_FreeSql.Select<Student>().Max(a => a.SId)) + 1).ToString();
  5.             student.Sname = "王五";
  6.             student.Sage = DateTime.Now.AddYears(-18);
  7.             student.Ssex = "男";
  8.             var repo = _FreeSql.GetRepository<Student>();
  9.             
  10.             //本次使用的是单个添加,批量添加将 student 替换成List<Student>
  11.             repo.Insert(student);

删除

  1.             //删除
  2.             //出于安全考虑,没有条件不执行删除动作,避免误删除全表数据。删除全表数据:fsql.Delete<T>().Where("1=1").ExecuteAffrows()
  3.             //返回受影响行数
  4.             long delcount =  _FreeSql.Select<Student>().Where(a => a.Sname == "李四").ToDelete().ExecuteAffrows();
  5.             
  6.             //支持删除的4种方式
  7.             //主键集合    new[] { 主键值1, 主键值2 }
  8.             //单个对象
  9.             //对象集合    new[] { Student对象1, Student对象2 }
  10.             //匿名对象    new { id = 1 }
  11.             
  12.             
  13.             //主键集合    new[] { 主键值1, 主键值2 } 
  14.             //主键包含在集合内的数据将会被删除
  15.             //等价于DELETE FROM Student WHERE (SId  = '1' OR SId  = '2')
  16.             var t1 = _FreeSql.Delete<Student>(new[] { "1""2" }).ToSql();
  17.             
  18.             //单个对象
  19.             //等价于DELETE FROM Student WHERE (SId = '1')
  20.             var t2 = _FreeSql.Delete<Student>(new Student{ SId = "1", Sname = "王五" }).ToSql();
  21.             
  22.              //对象集合
  23.              //等价于DELETE FROM Student WHERE (SId  = '1' OR `SId ` = '2')
  24.              var t3 = _FreeSql.Delete<Student>(new[] { new Student{ SId = "1", Sname = "王五" }, new Student{ SId = "2", Sname = "李四" } }).ToSql();
  25.              
  26.              //匿名对象
  27.              //等价于DELETE FROM Student  WHERE (SId  = '1')
  28.              var t4 = _FreeSql.Delete<Student>(new { SId  = '1'}).ToSql();

修改

  1.             ///修改
  2.             ///方法里传主键值、主键值集合、实体、实体集合、匿名对象、匿名对象集合
  3.             /// _FreeSql.Update<Student>(new[] {"1"})
  4.             /// 或
  5.             ///_FreeSql.Update<Student>(new {"1"})
  6.             ///_FreeSql.Update<Student>("1")
  7.             long count = _FreeSql.Update<Student>("1")
  8.             .Set(a => new Student
  9.             {
  10.                 Sname = "李四",
  11.                 Ssex = "女"
  12.             })
  13.             .ExecuteAffrows();
  14.             
  15.             
  16.             //set可拼接多个
  17.             long count  = _FreeSql.Update<Student>("1")
  18.            .Set(a => a.Sname == "李四")
  19.            .Set(a => a.Ssex == "女")
  20.            .ExecuteAffrows();

简单查询(查询还有很多种,这里测试了一种最简单的)

  1.             //查询
  2.             List<Student> dt = _FreeSql.Select<Student>().ToList(); //查询
  3.             
  4.             List<Student> dt1 = _FreeSql.Select<Student>().Where(a => a.Ssex == "女").ToList(); //查询

更多信息在freesql官方文档
传送门指南 | FreeSql 官方文档

评价

freesql 基础

前言今天用freesql 实现查询功能配置链接在Startup中 指定数据库类型以及数据库连接publicvoidConfigureServices(IServiceC...

freesql CodeFirst设计模式

前言freesql Code First 设计模式freesql 支持更多的数据库特性而不只是支持基础的数据类型,这既是优点也是缺点,优点是充...

freesql 查询

前言freesql 查询实体类 [Table(Name=&quot;oa.dbo.Class&quot;)] publicclassClass { [Column(IsPrimary=true,IsIdent...

EF Core SqlSugarfreesqlDapper EF 对比

EF Core优点:微软官方ORM功能强大,支持模式多文档齐全缺点:1.复杂查询生成的SQL语句性能太差(对操作功力要求高)2.一些...

freesql使用详解

FreeSql 主要对于数据库的增删改查操作,本身不难,难的是入门,本章主要讲解对于Freesql的入门配置本章讲解所需工具:MySQ...

Mydatis注解增删改查+Spring boot

注意本文有更改:在配置文件里只需配数据库即可pom.xml 里面的配置版本看情况,我是直接在io官网下的,这样可以避免很多版...