1、创建项目

我们以 console 类型项目试验 插入、删除、更新、查询 等功能,创建控制台项目,使用命令:

dotnet new console

79052ff3c782eb515e9ec17b3c1ab522.png

dotnet add package FreeSql.Provider.MySql

dotnet add package FreeSql.Repository

99dd0e8d35a78fdbfb30700b4ce07bf7.png

2、创建实体模型

using System;

using FreeSql.DataAnnotations;

public class User

{

[Column(IsIdentity = true)]

public long Id { get; set; }

public string UserName { get; set; }

public string PassWord { get; set; }

public DateTime CreateTime { get; set; }

}

3、初始化 ORM

static IFreeSql fsql = new FreeSql.FreeSqlBuilder()

.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=testdb;Charset=utf8;SslMode=none")

.UseMonitorCommand(cmd => Trace.WriteLine($"线程:{cmd.CommandText}\r\n"))

.UseAutoSyncStructure(true) //自动创建、迁移实体表结构

.UseNoneCommandParameter(true)

.Build();

4、插入数据

var repo = fsql.GetRepository();

var user = new User { UserName = "mysql1", PassWord = "123" };

repo.Insert(user);

7fa5e3b9dff3050bbdcb0edaab6f4a00.png

表已自动创建,或者对比更新结构。执行完成后,自增值填充到实体属性中。

var users = new []

{

new User { UserName = "mysql2", PassWord = "1234" },

new User { UserName = "mysql3", PassWord = "12345" },

new User { UserName = "mysql4", PassWord = "123456" }

};

repo.Insert(users);

//批量插入

打开 navicat 工具打开表:

2d3d8546459ae50363b0ee59e10c0ffe.png

5、更新数据

user.PassWord = "123123";

repo.Update(user);

af9597da57e188cdd26f80fb58681ae9.png

6、查询数据

var one = fsql.Select(1).First(); //查询一条数据

var list = fsql.Select().Where(a => a.UserName.StartsWith("mysql")).ToList();

d3382cab2384204b4361fc66bfb6f2a0.png

0fbfaf18efa2c7337c19ef63ac00d231.png

7、删除数据

fsql.Delete(1).ExecuteAffrows();

fsql.Delete().Where(a => a.UserName.StartsWith("mysql")).ExecuteAffrows();

结语

这篇文章简单介绍了在 .net core 3.1 环境中使用 FreeSql 对 MySql 数据库的访问,目前 FreeSql 还支持 .net framework 4.0 和 xamarin 平台上使用。

除了 增删查改,FreeSql 还支持很多功能,就不一一演示,一篇文章介绍不完。

FreeSql 是 .NETCore/.NetFramework/Xamarin 平台下的 ORM 开源项目,支持 SqlServer/MySql/PostgreSQL/Oracle/Sqlite/MsAccess,还有达梦数据库,未来还会接入更多的国产数据库支持。

谢谢支持!

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐