数据库
首页 > 数据库> > FreeSql笔记记录

FreeSql笔记记录

作者:互联网

FreeSql的系列操作:freesql的操作有点类似于linq中的操作,不过freesql的操作是对数据库,但是linq的操作是对集合进行操作

查看官方文档:https://freesql.net/guide/

 

首先要设计一个实体类。类名和字段名的设置要加备注:

比如:

[Table("表名")] 如果表名的设置与自己想要关联的表不一致,就会重新给你创建一个新表。
public class 类名

[Column("列名")] 与表中的列名对应,如果没有该列名,也会新建一个列。
public T 字段名

 

然后再是声明一个FreeSql的实例:

private static IFreeSql freeSqlInstance = new FreeSqlBuilder().UseConnectionString(DataType.SqlServer, "Data Source=.;Initial Catalog=db_test;Persist Security Info=True;uid=sa;pwd=123456;").UseAutoSyncStructure(true).Build();

 

增:freesql可以直接新增一个对象,按照类中的对应声明并且增加

freeSqlInstance.Insert(对象).ExecuteAffrows();

删:这里因为我是传一个对象过来,所以就用对象表示要删除的字段。

注意:这里的连续操作条件符号一定要:“||”或者“&&”,是这样子重复的,少打一个都会出错

freeSqlInstance.Delete<类名>()
.Where(k => k.字段名1== 对象.字段名1 && k.字段名2== 对象.字段名2&& k.字段名3== 对象.字段名3).ExecuteAffrows();

改:

第一种:把更新的值放在一起,New:表示新对象,Old:表示旧对象

int result = freeSqlInstance.Update<类名>(1).Set(a => new 类名{ 字段名1= New.字段名1, 字段名2= New.字段名2, 字段名3= New.字段名3 })
.Where(a=> a.字段名1== Old.字段名1 && a.字段名2== Old.字段名2&& a.字段名3== Old.字段名3).ExecuteAffrows();

第二种:把更新的值分开

int result = freeSqlInstance.Update<类名>().Set(a => a.Num, New.Num)

.Set(a => a.字段名1, New.字段名1)
.Set(a => a.字段名2, New.字段名2)
.Set(a => a.字段名3, New.字段名3)

.Where(a=> a.字段名1== Old.字段名1 && a.字段名2== Old.字段名2&& a.字段名3== Old.字段名3).ExecuteAffrows();

查:这里举个查询列表的集合。

cabinetList = freeSqlInstance.Select<类名>().OrderByDescending(a => a.字段名).ToList();

标签:Set,Old,记录,FreeSql,笔记,&&,freeSqlInstance,New,字段名
来源: https://www.cnblogs.com/wen-chen/p/16607330.html