FreeSql基础入门

本文介绍了FreeSql,一个强大的ORM框架,支持.NETCore和.NETFramework。内容包括如何安装FreeSql,通过NuGet或命令行,以及在dotnet Core API项目中的配置和使用,如创建数据库、添加模型、数据操作(获取、新增、修改、删除)等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、了解到FreeSql

     ORM框架是很早之前就在接触了比如CYQ.Data,这段时间在群里面发现有的猿在用一个新的ORM框架,这个也是由于自己刚刚得知有这么个ORM的原因,那就是FreeSql,这是一个功能强大的对象关系映射程序(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.5+,目前更新到了0.9版本,FreeSql 使用模型执行数据访问,模型由实体类表示数据库表或视图,用于查询和保存数据。

二、安装FreeSql

     第1种: 通过NuGet程序包里面搜索FreeSql,可以搜索到FreeSql的安装包和支持的数据库安装包,FreeSql.DbContext是必须要的,然后是数据库连接,此处用的是SqlServer,所以安装了FreeSql.Provider.SqlServer。

     第2种:通过控制台程序命令安装,GitHub提供的是 dotnet add package FreeSql,但是此处安装中会提示找不到包,估计是由于不是原始包的原因,采用了dotnet add   项目名称 package FreeSql  就可以解决,不过还是建议采用第一种方式进行安装.

三、项目配置和使用:此处采用的是dotnet Core API

     1、创建数据库,配置数据

     

     2、添加dotnet core api项目(这里不再详细说明,反正大家都会....)

     3、配置项目,此处只是实例,所以没有用到批量注入,如有需要了解ORM批量注入的猿友可以查看:https://www.cnblogs.com/chj929555796/p/11114684.html    

public static IFreeSql Fsql { get; private set; }
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;

            Fsql = new FreeSql.FreeSqlBuilder()
                .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Initial Catalog=FQDemo;Integrated Security=False;User ID=sa;Password=123456")
                .UseAutoSyncStructure(true)
                .UseLazyLoading(true)
                .UseNoneCommandParameter(true)
                .Build();
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            //注入
            services.AddSingleton<IFreeSql>(Fsql);
            services.AddFreeDbContext<StudentContext>(options => options.UseFreeSql(Fsql));

        }

 4、添加Model    

  public class StuClass
    {
        public int ID
<think>好的,我现在需要回答用户关于FreeSQL在低代码开发中的应用或实现方式的问题。首先,用户提到了FreeSQL,但根据提供的引用内容,正确的名称应该是FreeSql,一个.NET的ORM框架。我需要确保名称正确,避免混淆。 接下来,用户询问的是FreeSql在低代码开发中的使用,包括教程、文档和示例。根据引用内容,引用[1]提到了FreeSql的基本介绍、快速启动步骤、实践案例和相关生态项目,并推荐官方文档。引用[2]提供了如何构建IFreeSql实例的代码示例。引用[3]和[4]描述了FreeSql的特点,如多数据库支持、LINQ和易用性,这些都是低代码开发中重要的因素。 我需要结合这些引用内容,整理出FreeSql在低代码中的应用场景和实现方式。低代码的核心是减少手动编码,通过配置和可视化工具快速开发。FreeSql作为ORM,可以简化数据库操作,自动生成代码,支持多种数据库,这些都能提升低代码平台的效率。 首先,应该介绍FreeSql如何通过自动生成实体类来减少手动编码,比如使用CodeFirst模式。然后,结合LINQ支持,说明如何通过查询表达式简化数据操作,无需编写复杂SQL。接着,模块化设计可能涉及仓储模式和领域驱动设计,这在低代码中可以帮助快速构建模块。此外,可视化配置工具可能与FreeSql结合,通过UI生成配置,再由FreeSql执行。最后,需要提到如何利用FreeSql的扩展生态,如FreeSql.Admin或FreeSql.DynamicProxy,来增强低代码平台的功能。 用户需要教程、文档和示例,所以回答中应该包含官方文档链接和示例仓库地址,如引用[1]中的示例代码仓库。同时,引用[2]中的代码示例可以展示如何初始化FreeSql实例,这也是低代码中配置数据库连接的关键步骤。 需要确保回答结构清晰,分点说明应用场景和实现方式,每个部分引用对应的引用来源。最后,生成的相关问题要围绕低代码和FreeSql的结合,比如优势、集成方式、动态模型处理、可视化工具的实现,以及实际案例。</think>### FreeSql 在低代码开发中的应用与实现方式 FreeSql 作为一款 .NET 平台的高性能 ORM 框架,能够显著简化数据库操作,因此在低代码开发中具有以下典型应用场景和实现方式: --- #### **1. 数据模型自动生成** FreeSql 支持 `CodeFirst` 模式,可根据定义的实体类自动生成数据库表结构,**减少手动编写 SQL 的工作量**。在低代码平台中,可通过可视化界面配置实体字段,后台调用 FreeSql 的 API 动态生成代码和数据库表[^1][^3]。 **示例代码**: ```csharp // 定义实体类 public class User { public int Id { get; set; } public string Name { get; set; } } // 自动迁移数据库结构 IFreeSql fsql = new FreeSqlBuilder() .UseConnectionString(DataType.MySql, "连接字符串") .Build(); fsql.CodeFirst.SyncStructure<User>(); // 自动创建表 ``` --- #### **2. 动态查询与数据绑定** FreeSql 支持 LINQ 表达式和动态条件拼接,低代码平台可通过配置生成查询条件,无需硬编码。例如,前端传递过滤条件,后端动态构建查询: ```csharp // 动态条件查询示例 var query = fsql.Select<User>() .WhereIf(!string.IsNullOrEmpty(name), u => u.Name.Contains(name)) .Page(pageNumber, pageSize) .ToList(); ``` --- #### **3. 模块化数据服务** 通过 FreeSql 的**仓储模式**(Repository Pattern),可将数据操作封装为可复用的模块。低代码平台可基于此快速构建业务模块(如用户管理、订单管理),减少重复代码[^4]。 **实现步骤**: - 定义通用仓储接口 `IBaseRepository<T>` - 使用 FreeSql 的 `BaseRepository` 实现基础增删改查 - 在低代码平台中通过配置调用仓储方法 --- #### **4. 可视化数据库管理** FreeSql 提供 `FreeSql.Admin` 扩展模块,可生成数据库管理界面,支持在线查看表结构、执行 SQL 等操作。这一特性可直接集成到低代码平台中,提升开发效率。 --- #### **5. 多数据库适配** FreeSql 支持 SQL Server、MySQL、PostgreSQL 等十余种数据库,**低代码平台可通过统一接口实现多数据库兼容**,用户仅需切换连接字符串即可适配不同数据库类型[^4]。 **配置示例**: ```csharp IFreeSql fsql = FreeSqlHelper.GetInstance() .FreeBuilder(dbType, connStr); // 根据类型和连接字符串构建实例[^2] ``` --- #### **文档与资源** - **官方文档**:包含快速入门、API 详解和最佳实践 [FreeSql 文档](https://github.com/dotnetcore/FreeSql/wiki) - **示例仓库**:提供低代码集成案例和模块化设计示例 [GitCode 示例](https://gitcode.com/gh_mirrors/fr/FreeSql) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值