using Yw.DAL.PostgreSql; namespace HStation.DAL.PostgreSql { /// /// /// public partial class AssetsPumpGroup : BaseDAL_Paras_Flags_TagName_Sorter, IAssetsPumpGroup { /// /// /// public override ConnectionConfig ConnectionConfig { get { return Assets.ConfigHelper.PostgreSqlConnectionConfig; } } //删除拓展 public bool DeleteEx(long ID) { if (ID < 0) { return default; } using (var db = new SqlSugarClient(ConnectionConfig)) { try { db.BeginTran(); var group = db.Queryable().ToList().Find(x => x.ID == ID); var groupresult = db.Deleteable(group).ExecuteCommand() > 0; if (!groupresult) { db.RollbackTran(); return default; } else { var idlist = db.Queryable() .Where(x => x.GroupID == group.ID) .Select(x => x.MainID) // 假设 GroupID 是与 AssetsPumpMain 关联的外键 .ToList(); var main = db.Queryable() .Where(x => x.GroupID == group.ID) .ToList(); if (main.Count > 0) { var Modelresult = db.Deleteable(main).ExecuteCommand() > 0; if (!Modelresult) { db.RollbackTran(); return default; } else { var Map = db.Queryable().ToList(); var Mapresult = db.Deleteable() .In(x => x.ID, idlist) .ExecuteCommand() > 0; if (!Mapresult) { db.RollbackTran(); return default; } } } } db.CommitTran(); return groupresult; } catch (Exception ex) { db.RollbackTran(); throw; } } } } }