public void Delete(Database db = null) { db = db ?? Db.For <L>(); SqlStringBuilder sql = db.ServiceProvider.Get <SqlStringBuilder>(); WriteDelete(sql); sql.Execute(db); }
public void Commit(Database db = null) { db = db ?? Database; SqlStringBuilder sql = db.ServiceProvider.Get <SqlStringBuilder>(); WriteCommit(sql); sql.Execute(db); AfterCommit?.Invoke(db, this); }
protected virtual void Delete(IQueryFilter filter) { Database db; SqlStringBuilder sql = GetSqlStringBuilder(out db); foreach (string key in this.ChildCollections.Keys) { this.ChildCollections[key].WriteDelete(sql); } WriteDelete(sql, filter); sql.Execute(db); sql.Reset(); }
public virtual void Delete(Database database = null) { Database db; SqlStringBuilder sql = GetSqlStringBuilder(out db); if (database != null) { sql = GetSqlStringBuilder(database); db = database; } if (AutoDeleteChildren) { WriteChildDeletes(sql); } WriteDelete(sql); OnBeforeDelete(db); sql.Execute(db); OnAfterDelete(db); }
/// <summary> /// Undo any changes that have been made to the current instance /// since it was loaded. /// </summary> /// <param name="db"></param> public virtual void Undo(Database db = null) { Type thisType = this.GetType(); if (db == null) { db = Database; } SqlStringBuilder sql = GetSqlStringBuilder(db); ColumnAttribute[] columns = Db.GetColumns(thisType); foreach (ColumnAttribute col in columns) { this.SetValue(col.Name, this.GetOriginalValue(col.Name)); } AssignValue[] values = GetNewAssignValues(); sql.Update(this.TableName(), values) .Where(this.GetUniqueFilter()) .Go(); sql.Execute(db); }