static void Test(ApplicationDbContext db, TestDatabases databases) { using var trans = db.Database.BeginTransaction(); using var directScope = db.BeginDirectScope(); db.YearMonthModels.Truncate(); db.YearMonthModels.AddRange(new[] { new YearMonthModel { Date = new DateTime(2012, 1, 1), Year = 2012, Month = 1, Day = 1 }, new YearMonthModel { Date = new DateTime(2012, 4, 16), Year = 2012, Month = 4, Day = 16 }, new YearMonthModel { Date = new DateTime(2012, 5, 18), Year = 2012, Month = 5, Day = 18 }, }); db.SaveChanges(); var query = db.YearMonthModels.Where(x => DbFunc.DateTime(x.Year, x.Month, x.Day, 1, 1, 1) >= DbFunc.DateTime(2012, 4, 16)); var sql = query.ToSql(); Assert.Equal(2, query.Count()); trans.Rollback(); }
public void Test(TestDatabases testDatabases, Action <ApplicationDbContext, TestDatabases> action) { if (testDatabases.HasFlag(TestDatabases.SqlServer)) { action(SqlServerContext.Value, TestDatabases.SqlServer); } if (testDatabases.HasFlag(TestDatabases.MySql)) { action(MySqlContext.Value, TestDatabases.MySql); } if (testDatabases.HasFlag(TestDatabases.Sqlite)) { action(SqliteContext.Value, TestDatabases.Sqlite); } }