public void Delete文生成() { var actual1 = PrimitiveSql.CreateDelete(typeof(Person)); var actual2 = PrimitiveSql.CreateDelete <Person>(); var expect = "delete from dbo.Person"; actual1.Is(expect); actual2.Is(expect); }
/// <summary> /// 指定されたテーブルから指定の条件に一致するレコードを非同期的に削除します。 /// </summary> /// <typeparam name="T">テーブルにマッピングされた型</typeparam> /// <param name="predicate">削除条件</param> /// <returns>影響した行数</returns> public virtual Task <int> DeleteAsync <T>(Expression <Func <T, bool> > predicate) { var delete = PrimitiveSql.CreateDelete <T>(); var where = PredicateSql.From(this.DbKind, predicate); var builder = new StringBuilder(); builder.AppendLine(delete); builder.AppendLine(nameof(where)); builder.Append($" {where.Statement}"); return(this.Connection.ExecuteAsync(builder.ToString(), where.Parameter, this.Transaction, this.Timeout)); }
/// <summary> /// 指定されたテーブルからすべてのレコードを非同期的に削除します。 /// </summary> /// <typeparam name="T">テーブルにマッピングされた型</typeparam> /// <returns>影響した行数</returns> public virtual Task <int> DeleteAsync <T>() { var sql = PrimitiveSql.CreateDelete <T>(); return(this.Connection.ExecuteAsync(sql, null, this.Transaction, this.Timeout)); }