using IStation.CalcModel; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; namespace IStation.DAL { /// /// 数据库访问基类 /// public partial class AnaProject { /// /// 构造函数 /// public AnaProject() { } /// /// 数据库连接 /// public virtual ISqlSugarClient Connection { get { var connection = CreateConnection(); return connection; } } public static ISqlSugarClient CreateConnection() { var path = System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath(), "AnaProject.db"); if (!System.IO.File.Exists(path)) { throw new Exception($"缺少Project.db文件"); } ConnectionConfig connectionConfig = new ConnectionConfig() { DbType = SqlSugar.DbType.Sqlite, ConnectionString = "Data Source=" + path,// + ";Version=3;", IsAutoCloseConnection = true,//是否自动关闭 }; ISqlSugarClient conn = new SqlSugarClient(connectionConfig); return conn; } #region Insert /// /// 插入指定对象到数据库中 /// public long Insert(IStation.CalcModel.AnaPrj result_prj, IStation.CalcModel.AnaRequest ana_request) { IStation.Entity.AnaProjectEntity entity = new Entity.AnaProjectEntity(); entity.PrjID = result_prj.ID; entity.StartTime = result_prj.StartTime; entity.EndTime = result_prj.EndTime; entity.CreateTime = DateTime.Now; entity.TotalFlow = (int)ana_request.TotalFlow取水总量; entity.CalcOptType = (int)ana_request.CalcOptType; SnowFlakeSingle.WorkId = 1; using (ISqlSugarClient db = Connection) { return db.Insertable(entity).ExecuteReturnSnowflakeId(); } } /// /// 插入指定对象到数据库中 /// public long Insert(IStation.CalcModel.AnaPrj result_prj, IStation.CalcModel.AnaRequestBase ana_request) { IStation.Entity.AnaProjectEntity entity = new Entity.AnaProjectEntity(); entity.PrjID = result_prj.ID; entity.StartTime = result_prj.StartTime; entity.EndTime = result_prj.EndTime; entity.CreateTime = DateTime.Now; entity.TotalFlow = (int)ana_request.TotalFlow取水总量; entity.CalcOptType = (int)ana_request.CalcOptType; SnowFlakeSingle.WorkId = 1; using (ISqlSugarClient db = Connection) { return db.Insertable(entity).ExecuteReturnSnowflakeId(); } } #endregion #region Query /// /// 返回数据库所有的对象集合 /// public List GetAll() { using (ISqlSugarClient db = Connection) { return db.Queryable()?.ToList(); } } /// /// 查询数据库,返回指定ID的对象 /// public Entity.AnaProjectEntity GetByPrjID(string prj_id) { using (ISqlSugarClient db = Connection) { return db.Queryable().Single(x => x.PrjID == prj_id); } } public Entity.AnaProjectEntity GetLastRecord() { using (ISqlSugarClient db = Connection) { return db.Queryable().OrderByDescending(i => i.ID).Take(1).First(); } } #endregion } }