tnblog
首页
视频
资源
登录

FreeSql使用详解

13946人阅读 2022/3/8 13:28 总访问:50599 评论:0 收藏:2 手机
分类: .NET

FreeSql 主要对于数据库的增删改查操作,本身不难,难的是入门,本章主要讲解对于Freesql的入门配置
本章讲解所需工具:MySQL,VS2022(工具不唯一)
1.引入Freesql依赖包:
   官网命令为:

  1. dotnet add package FreeSql

输出:未找到指定包
解决方案:(网上挺多的)

  1. dotnet add 项目名称 package FreeSql

第二种方法:
              工具>NuGet程序包管理器>管理解决方案的NuGetc程序包>浏览>搜索Freesql
              安装带有数据库名的(mysql/sqlserver)
2.配置:2022是Program.cs

  1. var connectionString = "Data Source=127.0.0.1; Port = 3306; User ID = root; Password = 123456; " + 
  2.     "Initial Catalog=sys;Charset=utf8;SslMode=none;Max pool size=10";
  3.   IFreeSql fsql = new FreeSql.FreeSqlBuilder()
  4.      .UseConnectionString(FreeSql.DataType.MySql, connectionString)
  5.      .UseAutoSyncStructure(true//自动同步实体结构到数据库,FreeSql不会扫描程序集,只有CRUD时才会生成表。
  6.      .Build();
  7. builder.Services.AddSingleton<IFreeSql>(fsql);
  8. builder.Services.AddScoped<ISqlStr, SqlStr>();
  9. //Initial Catalog是数据库的库名
  10. //注意:该文件内有一句代码:var app = builder.Build();
  11. //本句代码必须在上述代码的下面(后面)否则运行vs的时候会输出无法解析的error

3.1 运用:
 (1)创建接口:IFreeSql

  1.  public partial interface  ISqlStr
  2.     {
  3.         int Insert();
  4.     }

(2)创建类 SqlStr>用于实现接口(注:该类里面书写构造函数注入Freesql工具类)

  1. private IFreeSql fsql;
  2.         public SqlStr(IFreeSql _fsql)
  3.         {
  4.             fsql = _fsql;
  5.         }
  6.         /// <summary>
  7.         /// 添加一条数据
  8.         /// </summary>
  9.         /// <returns></returns>
  10.         public int Insert()
  11.         {
  12.             var items = new List<Topic>();
  13.             for (var a = 0; a < 10; a++)
  14.                 items.Add(new Topic { BlogId = a + 1, Url = $"newtitle{a}", Rating = a * 100 });
  15.             
  16.             int t1 = fsql.Insert(items.First()).ExecuteAffrows();
  17.             return t1;
  18.         }
  19.        //这里的Topic是自己创建的实体类
  20.        //添加方法不唯一,这里是实例类for添加数据再取第一条添加至数据库
  21.        //这里仅列举一个添加单条数据的方法,其余方法官网上有

3.2 使用方法:
     vs版本不同可能add的方法不同,主要是给接口类和实现类配置关系

  1. builder.Services.AddScoped<ISqlStr, SqlStr>();
  2. //vs2022的是AddScoped
  3. //配置文件内的代码推荐都写在var app = builder.Build();的前面

最后就是调用方法啦,当然,还是要借助依赖注入的方法(注入方法不唯一,有特性注入等)

  1.  private readonly ILogger<HomeController> _logger;
  2.         private readonly ISqlStr _Isql;
  3.         public HomeController(ILogger<HomeController> logger,ISqlStr Isql)
  4.         {
  5.             _Isql = Isql;
  6.              _logger = logger;
  7.         }
  8.    //控制器内:
  9.    int count=_Isql.Insert();

另外,本文章使用vs创建的模板是ASP.NET Core Web应用(模型-视图-控制器)

评价

FreeSql 基础

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

FreeSql 增删改查

前言freesql 基础(增删改查)先添加依赖privatereadonlyILogger&lt;HomeController&gt;_logger; privatereadonlyIFreeSql...

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.一些...
与其用时间去get一个未知的以后,不如做好现在,set自己一个好的以后
排名
21
文章
27
粉丝
11
评论
12
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术