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位

 

posted @ 2019-07-10 09:20  _0123456789  阅读(789)  评论(0编辑  收藏  举报