Пример #1
0
 async Task Execute(string dbName, Func <SqliteDbContext, Task> func)
 {
     using (var db = new SqliteDbContext(dbName))
     {
         db.Database.EnsureDeleted();
         db.Database.EnsureCreated();
         await func(db);
     }
 }
Пример #2
0
        public async Task PropertyTests()
        {
            var dbName = $"{nameof(this.PropertyTests)}.db";

            await this.Execute(dbName, async db =>
            {
                db.SqliteEntities.Add(new SqliteEntity
                {
                    NullId = 1,
                    SetId  = 1,
                    Date   = DateTime.Now,
                    Offset = DateTimeOffset.UtcNow
                });

                db.SqliteEntities.Add(new SqliteEntity
                {
                    SetId  = 2,
                    Date   = DateTime.Now,
                    Offset = DateTimeOffset.UtcNow
                });
                db.SaveChanges();
            });

            using (var db = new SqliteDbContext(dbName))
            {
                db.SqliteEntities.First(x => x.NullId == 1).Should().NotBeNull("NullId should be set but wasn't");

                var objs = await db.ReflectionExecuteToList <SqliteDto>("SELECT * FROM SqliteEntities ORDER BY Id");

                var e = objs.First();
                e.NullId.Should().Be(1);
                e.SetId.Should().Be(1);

                e = objs.Last();
                e.NullId.Should().BeNull();
                e.SetId.Should().Be(2);

                e.Date.Date.Should().Be(DateTime.Now.Date);
                e.Offset.Date.Should().Be(DateTimeOffset.UtcNow.Date);
            }
        }