说点题外话,相比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类和数据库已经实现创建完成:
好了,不多说了,真的很简单,很方便。