KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm using EF code first . I'm using a base Repository for all my repositories and an IUnitofWork that inject to the repositories, too: public interface IUnitOfWork : IDisposable { IDbSet<TEntity> Set<TEntity>() where TEntity : class; int SaveChanges(); } public class BaseRepository<T> where T : class { protected readonly DbContext _dbContext; protected readonly IDbSet<T> _dbSet; public BaseRepository(IUnitOfWork uow) { _dbContext = (DbContext)uow; _dbSet = uow.Set<T>(); } //other methods } e.g my OrderRepository is like this: class OrderRepository: BaseRepository<Order> { IUnitOfWork _uow; IDbSet<Order> _order; public OrderRepository(IUnitOfWork uow) : base(uow) { _uow = uow; _order = _uow.Set<Order>(); } //other methods } And I use it in this way: public void Save(Order order) { using (IUnitOfWork uow = new MyDBContext()) { OrderRepository repository = new OrderRepository(uow); try { repository.ApplyChanges<Order>(order); uow.SaveChanges(); } } } Is there any way to log change histories of all entities(include their navigation properties) during .SaveChanges() ? I want to log original values (before save occurs) and changed values (after save occurs).
Tags (comma-separated)
Save Edits
Cancel