protected virtual void Dispose(bool disposing) { if (!_disposed && disposing) { _session = null; } _disposed = true; }
public void SaveWork() { if (_sessionStarted) { _context.Database.CurrentTransaction.Commit(); } _session = null; _sessionStarted = false; }
public override void Configure(UnderlyingSession session) { base.Configure(session); Context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; Set = Context.Set <TDataModel>(); Query = Set.AsNoTracking(); Write = Context.ChangeTracker.TrackGraph; }
public void Invalid_Type_Throws_CastException() { // Arrange var session = new MySession1(); // Act var underlyingSession = new UnderlyingSession(session); // Assert Assert.Throws <InvalidCastException>(() => underlyingSession.Get <MySession2>()); }
public void Expected_Type_Is_Accepted() { // Arrange var session = new MySession1(); // Act var underlyingSession = new UnderlyingSession(session); // Assert Assert.NotNull(underlyingSession.Get <MySession1>()); Assert.Equal(session, underlyingSession.Get <MySession1>()); }
public virtual void Configure(UnderlyingSession session) { Checker.NotNullArgument(session, nameof(session)); Context = session.Get <DbContext>(); if (Context == null) { // TODO: Implementar internacionalização throw new NullReferenceException( $"The context is null. The session has not been configured."); } }
internal static void SaveSession(UnderlyingSession session, IFileSystem fs) { string dbFilePath = Path.Combine(fs.GetCurrentDirectory(), DatabaseFileName); FileStream file = fs.OpenFile(dbFilePath, fs.FileExists(dbFilePath) ? FileMode.Truncate : FileMode.CreateNew); string dataString = JsonConvert.SerializeObject(session.Get <MemoryDatabase>().Blog, Formatting.Indented); using (StreamWriter writer = new StreamWriter(file, Encoding.UTF8)) { writer.Write(dataString); } }
public void Inherited_Types_Are_Accepted() { // Arrange var session1 = new MySession1(); var session2 = new MySession2(); // Act var underlyingSession1 = new UnderlyingSession(session1); var underlyingSession2 = new UnderlyingSession(session2); // Assert Assert.NotNull(underlyingSession1.Get <MySession1>()); Assert.NotNull(underlyingSession2.Get <MySession2>()); Assert.NotNull(underlyingSession2.Get <MySession1>()); Assert.Equal(session1, underlyingSession1.Get <MySession1>()); Assert.Equal(session2, underlyingSession2.Get <MySession2>()); Assert.Equal(session2, underlyingSession2.Get <MySession1>()); Assert.NotEqual(session1, underlyingSession2.Get <MySession1>()); }
protected virtual void Dispose(bool disposing) { if (_disposed) { return; } _disposed = true; if (!disposing) { return; } if (_sessionStarted) { _context.Database.CurrentTransaction.Rollback(); } _session = null; _sessionStarted = false; }
public void SaveWork() { SaveSession(Session, _fs); _session = null; }
public void Configure(UnderlyingSession session) => _base.Configure(session);
public void Configure(UnderlyingSession session) => _db = session.Get <MemoryDatabase>();