using MongoDB.Bson.Serialization.Attributes; using MongoDB.Bson; using SqlSugar.MongoDb; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SqlSugar; using System.ComponentModel; namespace MongoDbTest { public class QueryJson7 { internal static void Init() { var db = DbHelper.GetNewDb(); db.CodeFirst.InitTables(); db.DbMaintenance.TruncateTable(); var val = new Pub_ElectCurve() { ElectDate = "2025", ElectName = "测试", ElectDayInfo = new List() { new() { ElectDayDate = "工作日", ElectDayVals = new double[] { 0, 1, 2, 3, 4, 5 } } }, ElectYearCurve = new Pub_ElectYearInfo[2] { new Pub_ElectYearInfo() { ElectType = 0, ElectVal = 1.0 }, new Pub_ElectYearInfo() { ElectType = 0, ElectVal = 1.0 } } }; var id = db.Insertable( val).ExecuteReturnPkList().First(); var col=db.Updateable().SetColumns(x => x.ElectName == "1") .Where(x => x.Id == id).ExecuteCommand(); if (col != 1) Cases.ThrowUnitError(); } /// /// 电量曲线设置 /// [SugarTable("pub_electcurve_setting")] public class Pub_ElectCurve : MongoDbBase { /// /// 年份 /// public string ElectDate { get; set; } /// /// 曲线名称 /// public string ElectName { get; set; } /// /// 年分月曲线 /// [SugarColumn(IsJson = true)] public Pub_ElectYearInfo[] ElectYearCurve { get; set; } = new Pub_ElectYearInfo[2]; /// /// 月分日曲线-按日期类型权重 /// [SugarColumn(IsJson = true)] public List ElectMonDInfo { get; set; } = new(); /// /// 日分时曲线-按日期类型权重 /// [SugarColumn(IsJson = true)] public List ElectDayInfo { get; set; } = new(); /// /// 月分日曲线-按日期权重 /// [SugarColumn(IsJson = true)] public List ElectMonInfo { get; set; } = new(); /// /// 日分时曲线-按日期权重 /// [SugarColumn(IsJson = true)] public List ElectHouInfo { get; set; } = new(); } /// /// 电量曲线设置 - 年分月曲线 /// public class Pub_ElectYearInfo { /// /// 类型 0:按日期类型权重 1:按日期权重 /// public int ElectType { get; set; } /// /// 权重 /// public double ElectVal { get; set; } } /// /// 电量曲线设置 - 月分日曲线-按日期类型权重 /// public class Pub_ElectMonDInfo { /// /// 月份 /// public int ElectMonDate { get; set; } /// /// 权重值:1-31 /// [SugarColumn(IsJson = true)] public double[] ElectMonVals { get; set; } } /// /// 电量曲线设置 - 日分时曲线-按日期类型权重 /// public class Pub_ElectDayInfo { /// /// 日期类型 /// public string ElectDayDate { get; set; } /// /// 权重值:0-23 /// [SugarColumn(IsJson = true)] public double[] ElectDayVals { get; set; } = new double[24]; } /// /// 电量曲线设置 - 月分日曲线-按日期权重 /// public class Pub_ElectMonInfo { /// /// 月份 /// public int ElectMonDate { get; set; } /// /// 工作日权重 /// public double ElectWeekDay { get; set; } /// /// 周六权重 /// public double ElectSaturday { get; set; } /// /// 周日权重 /// public double ElectSunday { get; set; } /// /// 法定节假日权重 /// public double ElectStaHolidays { get; set; } /// /// 调休节假日权重 /// public double ElectPaidHolidays { get; set; } } /// /// 电量曲线设置 - 日分时曲线-按日期权重 /// public class Pub_ElectHouInfo { /// /// 日期类型 /// public PubDayType ElectHouType { get; set; } /// /// 日期类型名称 /// public string ElectHouTypeName { get { return this.ElectHouType.ToString(); } set { } } /// /// 权重值:0-23 /// [SugarColumn(IsJson = true)] public double[] ElectHouVals { get; set; } = new double[24]; } /// /// 日类型 /// public enum PubDayType { /// /// 工作日 /// [Description("工作日")] WeekDay, /// /// 周六 /// [Description("周六")] Saturday, /// /// 周日 /// [Description("周日")] Sunday, /// /// 法定节假日 /// [Description("法定节假日")] StaHolidays, /// /// 调休节假日 /// [Description("调休节假日")] PaidHolidays } } }