/// <summary>
 /// Creates a <see cref="DbQuery{TQueryExpression}"/> that is used to delete data from the database.
 /// </summary>
 /// <param name="dbDeleteQuery">The target <see cref="DbDeleteQuery"/>.</param>
 /// <param name="target">The <see cref="DbExpression"/> that represents the target table or view.</param>
 /// <returns>A <see cref="DbDeleteQuery"/> instance.</returns>
 public static DbDeleteQuery Delete(this DbDeleteQuery dbDeleteQuery, DbExpression target)
 {
     dbDeleteQuery.QueryExpression.Target = target;
     return(dbDeleteQuery);
 }
 public void ShouldTranslateDeleteExpressionWithAliasedTarget()
 {
     if (GetType() == typeof(SQLiteExpressionSyntaxTests))
         return;
     var dbDeleteQuery = new DbDeleteQuery();
     var expression = dbDeleteQuery.Delete(e => e.Table("SomeTable", "t0"))
         .Where(e => e.Column("t0", "SomeColumn") == e.Constant(1));
     var result = QueryTranslator.Translate(expression);
     Assert.AreEqual(DeleteExpressionWithAliasedTargetSyntax.Clean(), result.Sql.Clean());
 }
 /// <summary>
 /// Creates a <see cref="DbQuery{TQueryExpression}"/> that is used to delete data from the database.
 /// </summary>
 /// <param name="dbDeleteQuery">The target <see cref="DbDeleteQuery"/>.</param>
 /// <param name="targetSelector">A <see cref="Func{T,TResult}"/> used to
 /// specify the <see cref="DbExpression"/> that represents the target table or view.</param>
 /// <returns>A <see cref="DbDeleteQuery"/> instance.</returns>
 public static DbDeleteQuery Delete(this DbDeleteQuery dbDeleteQuery, Func <DbExpressionFactory, DbExpression> targetSelector)
 {
     return(Delete(dbDeleteQuery, targetSelector(DbExpressionFactory)));
 }
 public void ShouldTranslateDeleteExpression()
 {
     var dbDeleteQuery = new DbDeleteQuery();
        var expression = dbDeleteQuery.Delete(e => e.Table("SomeTable"))
         .Where(e => e.Column("SomeColumn") == e.Constant(1));
     var result = QueryTranslator.Translate(expression);
     Assert.AreEqual(DeleteExpressionSyntax.Clean(), result.Sql.Clean());
 }