using SqlSugar; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IStation.DAL { /// /// /// public partial class CorpTraceDAL : CorpDAL where T : Entity.CorpTraceEntity, new() { /// /// 插入指定对象到数据库中 /// public override long Insert(T entity) { if (entity == null) return default; if (entity.CorpID < 1) return default; entity.CreateTime = DateTime.Now; using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig)) { return db.Insertable(entity).ExecuteReturnSnowflakeId(); } } /// /// 插入指定对象集合到数据库中 /// public override bool Inserts(List list) { if (list == null || list.Count < 1) return default; var dt =DateTime.Now; foreach(var item in list) item.CreateTime = dt; var corpIds = list.Select(x => x.CorpID).Distinct().ToList(); if (corpIds.Count() != 1 || corpIds[0] < 1) return default; using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig)) { return db.Insertable(list).ExecuteReturnSnowflakeIdList().Count() > 0; } } /// /// 插入并返回 /// public override List InsertsR(List list) { if (list == null || list.Count < 1) return default; var dt = DateTime.Now; foreach (var item in list) item.CreateTime = dt; var corpIds = list.Select(x => x.CorpID).Distinct().ToList(); if (corpIds.Count() != 1 || corpIds[0] < 1) return default; using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig)) { return db.Insertable(list).ExecuteReturnSnowflakeIdList(); } } /// /// 大批量插入 /// public override bool BulkInserts(List list) { if (list == null || list.Count < 1) return default; var dt = DateTime.Now; foreach (var item in list) item.CreateTime = dt; list.ForEach(x => x.ID = SnowFlakeSingle.instance.NextId()); using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig)) { return db.Fastest().BulkCopy(list) > 0; } } /// /// 更新对象属性到数据库中 /// public override bool Update(T entity) { if (entity == null) return default; if (entity.CorpID < 1) return default; entity.UpdateTime = DateTime.Now; using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig)) { return db.Updateable(entity).IgnoreColumns(it => new { it.CreateTime, it.CreateUserID, it.CorpID }).ExecuteCommand() > 0; } } /// /// 更新指定对象集合到数据库中 /// public override bool Updates(List list) { if (list == null || list.Count < 1) return default; var corpIds = list.Select(x => x.CorpID).Distinct().ToList(); if (corpIds.Count() != 1 || corpIds[0] < 1) return default; foreach (var item in list) item.UpdateTime = DateTime.Now; using (SqlSugarClient db = new SqlSugarClient(ConnectionConfig)) { return db.Updateable(list).IgnoreColumns(it => new { it.CreateTime, it.CreateUserID, it.CorpID }).ExecuteCommand() > 0; } } } }