public static IList<string> RetrieveTheWhereItemUniqueNames(Where whereToCheck) { return whereToCheck.GetType().GetProperty("WhereItems", BindingFlagsToSeeAll) .GetValue(whereToCheck, BindingFlagsToSeeAll, null, null, null) .As<IList<WhereItem>>() .Select(x => x.UniqueKey) .ToList(); }
public void TheDeleteCanCreateAValidStatementWithConditions() { var firstColumnIsEqualToFirstValue = new Where() [ FirstColumn.IsEqualTo(FirstValue) ]; var deleteStatement = new Delete(SomeTable) .Where(firstColumnIsEqualToFirstValue); var whereItem = firstColumnIsEqualToFirstValue.GetType().GetProperty("WhereItems", BindingFlagsToSeeAll) .GetValue(firstColumnIsEqualToFirstValue, BindingFlagsToSeeAll, null, null, null) .As<IList<WhereItem>>() .First(); deleteStatement.CreateSql().Should().Be("DELETE FROM " + SomeTable + " WHERE " + FirstColumn + " = @" + whereItem.Name + whereItem.UniqueKey); }