public void Can_Write_Delete_Missing_Where() { var query = QueryExpression.Delete(QueryExpression.Table("TestTable")); var sql = TestHelpers.ConvertToSql(query); Assert.AreEqual("DELETE FROM [TestTable];", sql); }
public void Can_Write_Delete_With_Where() { var query = QueryExpression.Delete( QueryExpression.Table("TestTable"), QueryExpression.AreEqual(QueryExpression.Column("Id"), QueryExpression.Column("Id")) ); var sql = TestHelpers.ConvertToSql(query); Assert.AreEqual("DELETE FROM [TestTable] WHERE [Id] = [Id];", sql); }
public override ExecutableQueryExpression BuildQuery() { var where = _whereBuilder.Build(); if (where?.RequiresJoins == true) { throw new InvalidOperationException("Expressions that require joins aren't valid for DELETE statements."); } return(QueryExpression.Delete( QueryExpression.Table(_tableName), where?.QueryExpression )); }
public virtual async Task Crud_Delete() { using (var tempTable = await DataTestHelpers.CreateAutoIncrementTable(DataProvider)) using (var queryResult = await DataProvider.ExecuteReaderAsync( QueryExpression.Transaction( QueryExpression.Insert( tempTable.TableName, new[] { "Data" }, new object[] { 1 } ), QueryExpression.Delete( QueryExpression.Table(tempTable.TableName), QueryExpression.Compare(QueryExpression.Column("Id"), ComparisonOperator.AreEqual, QueryExpression.Value(1)) ), QueryExpression.Select( new[] { QueryExpression.Column("Data") }, from: QueryExpression.Table(tempTable.TableName), where : QueryExpression.Compare(QueryExpression.Column("Id"), ComparisonOperator.AreEqual, QueryExpression.Value(1)) ) ))) { Assert.IsFalse(queryResult.HasRows); } }