SQL ORM框架
【LINQ】
using (SqlConnection conn = new SqlConnection(conStr)) {
string sql = $@"select * from vip_e_coupons_policy where blocno=@blocno";
}
增删改:conn.Execute(sql)
查:conn.Query<T>(sql)
SingleOrDefault():返回值序列的单个特定元素;如果未找到此类元素,则返回默认值。
参考:https://www.jb51.net/article/155419.htm
————————————————————————————————————————————————————————————
【EF CORE】
API:https://docs.microsoft.com/zh-cn/ef/core/querying/raw-sql?tdsourcetag=s_pctim_aiomsg
自动生成DTO,进入.NET CORE项目API目录下,执行下面的命令:
dotnet ef dbcontext scaffold "Host=xx.xxxxxxx.com;Database=dbName;Username=postgres;Password=密码" Npgsql.EntityFrameworkCore.PostgreSQL -f -o /home/xxxxx/PROJECT/NET\ CORE/projName.API/projName.Entities/Model/DTO/
————————————————————————————————————————————————————————————
【SqlSugar】
API:http://www.codeisbug.com/Doc/8/1165 http://www.codeisbug.com/Doc/8/1129
IgnoreColumns(ignoreAllNullColumns: true)
//插入
tablenameDTO insertObj = new tablenameDTO();
insertObj = xxxxxxxxxx;
db.Insertable<tablenameDTO>(insertObj).ExecuteCommand();
//更新
tablenameDTO updateObj= new tablenameDTO (); updateObj= db.Queryable<tablenameDTO >().Where().ToList().First(); db.Updateable(updateObj).Where().ExecuteCommand();
//删除
db.Deleteable<tablenameDTO>().With().ExecuteCommand();
//查询 db.SqlQueryable<tablenameDTO>("sql").ToList(); db.Queryable<tablenameDTO>().Where().ToList();
————————————————————————————————————————————————————————————
【Dapper】
Dapper是.Net下的一个轻量级ORM(Object Relational Mapping 对象关系映射)框架
添加Dapper的Nugets包
//查询 var result1 = conn.Query<xxxxDTO>($@"select * from tablename where rtrim(id)='{ req.no }'").ToList(); if (result1.Count() > 0){ return Success(); } else { return Failed(); }
————————————————————————————————————————————————————————————
持久化是将程序数据在持久状态和瞬时状态间转换的机制。
即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。
————————————————————————————————————————————————————————————
【删除】
当你不再需要该表时,用【drop】
当你仍要保留该表,但要删除所有记录时,用【truncate】
当你要删除部分记录时, 用【delete】
例如:
truncate table hotel_area restart IDENTITY; //重置自增字段
truncate table hotel_area; //清空表
【COUNT(*) 函数】
—————————返回在给定的选择中被选的行数。
https://www.w3school.com.cn/sql/sql_func_count_ast.asp
【replace】
REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_strstring
right(字段名,length)从结尾截取
left(字段名,length)从开头截取
sql = $@"select * from mstinfo where roomno='{req.roomno}' and resphone='{req.phone}' or right((REPLACE(idno,' ','')),6)='{req.idno}'"; //去掉空格后,截取身份证后6位