freesql简单使用操作mysql数据库

参考:freesql中文官网指南 | FreeSql 官方文档

这两天准备做一个测试程序,往一个系统的数据表插入一批模拟设备数据,然后还要模拟设备终端发送数据包,看看系统的承压能力。

因为系统使用的第三方框架中用到了freesql, 我就想在测试程序中从0开始实验使用freesql来操作数据库。

一、创建wpf工程或者winform工程并创建数据表实体

我创建的是wpf工程,运行的目标框架选择的NET6 

数据表实体依据自己需要操作的业务表字段来创建。

二、引入freesql包FreeSql.Provider.MySqlConnector  

为什么要用FreeSql.Provider.MySqlConnector ,而不是 FreeSql.Provider.MySql,官网介绍说MySqlConnector比mysql更优。

三、配置连接串

在项目的App.config文件中配置connectionStrings连接串。

Data Source=服务器ip;Port=3306;Database=jqtahmdb;uid=root;pwd=mima;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true;SslMode=None;Pooling=true;

 四、创建数据库操作类 FreeSqlDb和数据连接操作方法

1、在类中创建一个数据连接方法,返回数据连接对象。

public static IFreeSql ConnectSQL() //连接数据库{var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Mysql"].ToString();//实例化连接对象var fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(DataType.MySql, connectionString).UseAutoSyncStructure(false).Build();if (fsql != null){return fsql; //连接成功返回true}return fsql;}

2、创建数据表操作方法

下面是查询数据和插入数据的方法示例。

public static  List<Enity.TahmCJ_desc> GetDescList(Enity.TahmCJ_desc desc){List<Enity.TahmCJ_desc> mylist=new List<Enity.TahmCJ_desc>();var fsql = ConnectSQL();mylist = fsql.Select<Enity.TahmCJ_desc>().WhereIf(!string.IsNullOrWhiteSpace(desc.TenantId), e => e.TenantId == desc.TenantId).WhereIf(!string.IsNullOrWhiteSpace(desc.channelno), e => e.channelno == desc.channelno).ToList();return mylist;}public static int InsertDesc(Enity.TahmCJ_desc desc){if (desc.Id == null){desc.Id = Guid.NewGuid();}desc.CreationTime= DateTime.Now;desc.CreatorId = desc.TenantId;desc.LastModificationTime= DateTime.Now;desc.LastModifierId= desc.TenantId;desc.IsDeleted = 0;var fsql = ConnectSQL();var myEF = fsql.Insert<Enity.TahmCJ_desc>(desc).ExecuteAffrows();return myEF;}

 

五、运行效果

如下图所示:数据表中原有一条符合条件的数据,测试程序总计插入了3000条数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库的事务隔离级别有哪些?

并行事务会引发什么问题&#xff1f; 同时处理多个事务的时候&#xff0c;就可能出现脏读&#xff08;dirty read&#xff09;、不可重复读&#xff08;non-repeatable read&#xff09;、幻读&#xff08;phantom read&#xff09;的问题。脏读: 如果一个事务「读到」了另一个…

NSSCTF-2021年SWPU联合新生赛

[SWPUCTF 2021 新生赛]finalrce 这道题目考察tee命令和转义符\ 这题主要是&#xff0c;遇到一种新的符号&#xff0c;"\"—转义符。我理解的作用就是在一些控制字符被过滤的时候&#xff0c;可以用转义符&#xff0c;让控制符失去原本的含义&#xff0c;变为字面量…

react中配置路径别名@

1.说明 在react项目中想要使用代替“src/”需要在项目根目录下配置两个文件&#xff0c;craco.config.js和sconfig.json&#xff1b; craco.config.js配置文件是用于项目解读为“src/” jsconfig.json配置文件是用于vsCode在编辑过程是输入后可以将src下的文件目录进行自动联…

k8s中部署Jenkins、SonarQube、StorageClass部署流程

部署Jenkins 系统环境&#xff1a; • kubernetes 版本&#xff1a;1.23.3 • jenkins 版本&#xff1a;2.172 • jenkins 部署示例文件 Github 地址&#xff1a;https://github.com/my-dlq/blog-example/tree/master/jenkins-deploy 一、设置存储目录 在 Kubenetes 环境下…

[DVWA靶场实战]-SQL注入攻击(命令注入+SQL回显注入+sqlmap工具实现自动化注入)详细教程

原理与内容 1.命令注入原理 以Windows系统的DOS命令为例&#xff0c;DOS命令可以查看本地网络、系统用户、当前目录、字符串查找&#xff0c;也可以复合命令。命令注入就是利用复合命令的特点&#xff0c;通过Web程序&#xff0c;在服务器上&#xff0c;拼接系统命令&#xf…

elk日志索引被锁blocks,日志无法写入

现象&#xff1a; kafka积压&#xff0c;logstash无法将日志写入到es logstash报错&#xff1a; [logstash.outputs.elasticsearch][main][] Retrying failed action {:status>403 :error>{“type”>“cluster_block_exception”, “reason”>“index [] blocked …

昇思MindSpore 应用学习-CycleGAN图像风格迁移互换

日期 心得 昇思MindSpore 应用学习-CycleGAN图像风格迁移互换&#xff08;AI代码学习&#xff09; CycleGAN图像风格迁移互换 模型介绍 模型简介 CycleGAN(Cycle Generative Adversarial Network) 即循环对抗生成网络&#xff0c;来自论文 Unpaired Image-to-Image Trans…

Rust代码答疑报错|Python一对一辅导答疑

Question 你好&#xff0c;我是悦创。 学员答疑&#xff1a; https://code.bornforthis.cn/?id4e72084d-1eaf-44ed-8067-744671491574https://code.bornforthis.cn/?id664ff169-41d6-409f-a05b-02ed42279759 问题代码&#xff1a; // You can bring module paths into sc…

使用python连接neo4j时报错:IndexError: pop from an empty deque的解决办法

遇见这个错&#xff0c;首先可能是python现在的py2neo的版本不对&#xff0c;把2021.1.0版本卸载&#xff0c;下载 py2neo4.2.0版本。我不是&#xff0c;一阵搜&#xff0c;发现需要改配置文件 首先找到你的neo4j的安装路径 在网上看的是&#xff0c;先找到data/dbms/auth文件…

Ins云手机在运营Instagram账号的优势

在数字时代&#xff0c;Instagram成为全球数亿用户的重要社交平台&#xff0c;其超过10亿的用户数量&#xff0c;为企业提供了广阔的营销空间。对于希望拓展海外市场的企业来说&#xff0c;使用Instagram进行引流和推广是一个高效且安全的选择。为了更高效地管理和运营多个Inst…

Python 实现股票指标计算——VR

VR (Volume Ratio) - 成交量变异率 1 公式 AV 股价上升日成交量&#xff1b;AVS N日内AV求和BV 股价下跌日成交量&#xff1b;BVS N日内BV求和CV 股价平盘日成交量&#xff1b;CVS N日内CV求和VR (AVS1/2CVS) ➗ (BVS1/2CVS) ✖ 100MAVR VR的M日简单移动平均 2 数据…

HDU1032——The 3n + 1 problem,HDU1033——Edge,HDU1034——Candy Sharing Game

目录 HDU1032——The 3n 1 problem 题目描述 运行代码 代码思路 HDU1033——Edge 题目描述 运行代码 代码思路 HDU1034——Candy Sharing Game 题目描述 运行代码 代码思路 HDU1032——The 3n 1 problem 题目描述 Problem - 1032 运行代码 #include <iostr…

相信开源的力量,MoonBit 构建系统正式开源

MoonBit 构建系统正式开源 作为由 AI 驱动的云服务和边缘计算开发者平台&#xff0c;MoonBit 自设计之初便注重工具链与语言的协同效果。MoonBit 为开发者提供了一套开箱即用的工具链&#xff0c;包括集成开发环境&#xff08;IDE&#xff09;、编译器、构建系统和包管理器&…

android audio不同音频流,(六)settings内音频流音量调整

&#xff08;1&#xff09;settings内&#xff0c;可设置音频流音量&#xff0c;如下图&#xff1a; &#xff08;2&#xff09;settings调整音量条进度&#xff0c;会触发SeekBarVolumizer对象&#xff1a; SeekBarVolumizer文件路径&#xff1a; frameworks/base/core/java/…

【MySQL进阶之路 | 高级篇】事务的ACID特性

1. 数据库事务概述 事务是数据库区别于文件系统的重要特性之一&#xff0c;当我们有了事务就会让数据库始终保持一致性&#xff0c;同时我们还能通过事务的机制恢复到某个时间点&#xff0c;这样可以保证给已提交到数据库的修改不会因为系统崩溃而丢失。 1.1 基本概念 事务&…

OpenCV图像滤波(1)双边滤波函数bilateralFilter的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 功能描述 bilateralFilter是图像处理和计算机视觉领域中的一种高级图像滤波技术&#xff0c;特别设计用于在去除噪声的同时保留图像的边缘和细节。相比于传…

React搭建Vite项目及各种项目配置

1. 创建Vite项目 在操作系统的命令终端&#xff0c;输入以下命令&#xff1a; yarn create vite 输入完成以后输入项目名称、选择开发框架&#xff0c;选择开发语言&#xff0c;如下图所示&#xff0c;即可完成项目创建。 注意事项&#xff1a; 1. Node版本必须符合要求&…

OceanBase v4.2 特性解析:如何实现表级恢复

背景 在某些情况下&#xff0c;你可能会因为误操作而遇到表数据损坏或误删表的情况。为了能在事后将表数据恢复到某个特定时间点&#xff0c;在OceanBase尚未有表级恢复功能之前&#xff0c;你需要进行以下步骤&#xff1a; 利用OceanBase提供的物理恢复工具&#xff0c;您可…

Linux云计算 |【第一阶段】SERVICES-DAY6

主要内容&#xff1a; Linux容器基础、Linux容器管理、podman命令行、管理容器进阶 实操前骤&#xff1a;安装 RHEL8.2 虚拟机 1.选择软件包&#xff1a;rhel-8.2-x86-dvd.iso&#xff1b; 2.内存2048M&#xff1b; 3.时区选择亚洲-上海&#xff0c;带GUI的服务器&#xff1b…

使用kali对操作系统和网络服务类型进行探测

1&#xff0e;在Kali终端中输入命令“nmap –sS –n -O 192.168.2.2”&#xff0c;探测目标主机的操作系统类型 2&#xff0e; 在Kali终端中输入命令“nmap –sV -n 192.168.2.2”&#xff0c;探测目标主机开启的网络服务类型 3.在Kali终端中输入命令“nmap –A -n 192.168.2.2…