Пример #1
0
            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();
            }
Пример #2
0
 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);
     }
 }