net6中使用FreeSql

5 篇文章 0 订阅
2 篇文章 0 订阅

        说点题外话,相比net其他的版本,net6简单了许多,不再需要配置一大堆路由、插件……等等,使用体验上好了许多。

        net 中的orm框架之前接触过EF,因为项目的原因最近又用到了FreeSql,回过头来看看,EF还是显的笨重了不少,FreeSql除了安装Nuget包之外,只有一句connection连接字符串的配置,只要配对了就直接可以使用了,听起来是不是很爽啊,哈哈。

安装:

FreeSql提供了众多常用数据库的驱动插件,打开nuget选择需要的插件包安装(笔者用的数据库是mysql,所以安装的是FreeSql.Provider.MySql)

配置:

配置的话只需要配置连接字符串,一般而言数据库的连接字符串都是写在配置文件中的,笔者创建的是一个net6 的api项目,自然是配置到了Properties目录下的launchSettings.json文件中,具体配置节点如下图所示:

 写到配置文件中的目的想必大家都是知道的,就是为了后期方便运维人员的更改。接下来就是配置FreeSql的连接串了,这里新建了一个类CoreDB:

public static class CoreDB
    {
        public static readonly IFreeSql Instance = new FreeSqlBuilder()
                 .UseConnectionString(DataType.MySql, Environment.GetEnvironmentVariable("database"))
                 .Build();
    }

目的是让FreeSql直接去读取json文件中的database节点来初始化,配置完成后可以直接用了,跟大多数orm框架的语法差不多,比如查询:

var infos = CoreDB.Instance.Select<ExceptionInformation>()
                .WhereIf(start.HasValue, a => a.CreateTime >= start)
                .WhereIf(end.HasValue, b => b.CreateTime <= end)
                .ToList();

插入也很简单:

 ExceptionInformation information = new ExceptionInformation()
            {
                Name = request.Name,
                Describe = request.Describe,
                FilesInfo = request.FilesInfo,
                Position = request.Position
            };

            var dbRes = CoreDB.Instance.Insert(information).ExecuteAffrows();

当然,所有上面的一切实现的前提是你的model类和数据库已经实现创建完成:

 好了,不多说了,真的很简单,很方便。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
FreeSql是一种高性能免费开源的ORM框架,可以用于在C#操作关系型数据库。以下是在C#使用FreeSql的步骤: 1. 安装FreeSql NuGet包 在Visual Studio打开NuGet包管理器,搜索FreeSql并安装最新版。 2. 配置数据库连接 在App.config或Web.config文件添加数据库连接字符串,例如: ```xml <connectionStrings> <add name="MySql" connectionString="Server=localhost;Database=mydatabase;User=root;Password=123456;"/> </connectionStrings> ``` 3. 初始化FreeSql 在应用程序启动时,初始化FreeSql并注册数据提供程序,例如: ```csharp // 初始化FreeSql var connectionString = ConfigurationManager.ConnectionStrings["MySql"].ConnectionString; var fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, connectionString) .UseAutoSyncStructure(true) .Build(); // 注册数据提供程序 FreeSql.Provider.Register<CustomMySqlProvider>(FreeSql.DataType.MySql); ``` 4. 编写数据访问代码 使用FreeSql的实体类、仓储类和LINQ语句,编写数据访问代码,例如: ```csharp // 定义实体类 public class User { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } // 定义仓储类 public class UserRepository : FreeSqlRepository<User> { public UserRepository() : base() { } public UserRepository(UnitOfWorkManager uowm) : base(uowm) { } } // 使用LINQ语句查询数据 var users = fsql.Select<User>().Where(u => u.Age > 18).ToList(); // 使用仓储类查询数据 var userRepo = new UserRepository(); var user = userRepo.Where(u => u.Name == "Tom").FirstOrDefault(); // 使用事务提交数据 using (var uow = fsql.CreateUnitOfWork()) { var userRepo = uow.GetRepository<User>(); userRepo.Insert(new User { Name = "Jack", Age = 20 }); userRepo.Update(new User { Id = 1, Name = "Tom", Age = 22 }); uow.Commit(); } ``` 以上就是在C#使用FreeSql的基本步骤,可以根据实际情况进行调整和优化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不脱发的牧码人

你的鼓励将是我前进的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值