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 { } } }
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()); } }