ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

FreeSql笔记记录

2022-08-20 12:32:47  阅读:159  来源: 互联网

标签:Set Old 记录 FreeSql 笔记 && freeSqlInstance New 字段名


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有