public void RangeTest() { var range = SqlExpr.Range <DateTime>(); var comp = range.Compile(); Assert.IsTrue(comp(new DateTime(2019, 01, 26), new DateTime(2019, 01, 30), new DateTime(2019, 01, 28))); Assert.IsFalse(comp(new DateTime(2019, 01, 26), new DateTime(2019, 01, 30), new DateTime(2019, 01, 31))); Assert.IsTrue(comp(new DateTime(2019, 01, 26), null, new DateTime(2019, 01, 31))); }
public void SimpleSelectFuncExpr() { var min = new DateTime(2019, 01, 26); var max = new DateTime(2019, 01, 30); var r = Sql .From(new SqlTable <Cliente>()) .Select(x => new { fecha = SqlExpr.Range <DateTime>().Invoke(min, max, x.Fecha) }); var actual = r.ToSql(SqlText.ParamMode.EntityFramework).Sql; var expected = @" SELECT ((""x"".""Fecha"" >= @min) AND (""x"".""Fecha"" <= @max)) AS ""fecha"" FROM ""Cliente"" ""x"" "; AssertSql.AreEqual(expected, actual); }