Esempio n. 1
0
 public BeforeAddingCallbackTest()
 {
     beforeAddingModel = new BeforeAddingModel();
     using (var dbContext = new TestLifecycleDbContext())
     {
         dbContext.Database.EnsureDeleted();
     }
     using (var dbContext = new TestLifecycleDbContext())
     {
         //dbContext.Database.EnsureDeleted();
         try
         {
             dbContext.Database.EnsureCreated();
             dbContext.Database.ExecuteSqlCommand(
                 @"
             CREATE TRIGGER SetSavedAtBeforeAddingTrigger
             AFTER INSERT ON ba_models
             BEGIN
                 UPDATE ba_models
                 SET SavedAt = strftime('%s','now')
                 WHERE Id = NEW.Id;
             END
         ");
         }
         catch  { }
     }
 }
Esempio n. 2
0
        public void SaveWithLifecyclesCallsLifecycleHookAfterSaving()
        {
            using (var dbContext = new TestLifecycleDbContext())
            {
                dbContext.AfterAddingModels.Add(afterAddingModel);
                Assert.False(afterAddingModel.CallbackCalled);

                var saved = dbContext.SaveWithLifecycles();
                Assert.Equal(1, saved);
            }
            using (var dbContext = new TestLifecycleDbContext())
            {
                var refreshed = dbContext.AfterAddingModels.First(m => m.Id == afterAddingModel.Id);
                Assert.True(afterAddingModel.CallbackCalled);
                Assert.True(afterAddingModel.CallbackCalledAt > refreshed.GetSavedAtInDateTime());
            }
        }