登录
首页 >  数据库 >  MySQL

[开源] .NetCore .NetFramework Xamarin 使用 ORM FreeSql 访问 MySql

来源:SegmentFault

时间:2023-02-16 15:33:23 240浏览 收藏

小伙伴们有没有觉得学习数据库很有意思?有意思就对了!今天就给大家带来《[开源] .NetCore .NetFramework Xamarin 使用 ORM FreeSql 访问 MySql》,以下内容将会涉及到MySQL、ORM、.net-core,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

1、创建项目

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

dotnet new console

dotnet add package FreeSql.Provider.MySql

dotnet add package FreeSql.Repository

2、创建实体模型

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);

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

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 工具打开表:

5、更新数据

user.PassWord = "123123";
repo.Update(user);

6、查询数据

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

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

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,还有达梦数据库,未来还会接入更多的国产数据库支持。

源码地址:https://github.com/2881099/FreeSql

谢谢支持!

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《[开源] .NetCore .NetFramework Xamarin 使用 ORM FreeSql 访问 MySql》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表