我正在实现实体框架实现的单元模式转发。
这是我的代码:
public sealed class UnitOfWork : IUnitOfWork
{
private readonly ObjectContext _context;
private IPostRepository _posts;
public UnitOfWork(string connectionString)
{
_context = new ObjectContext(connectionString);
_context.ContextOptions.LazyLoadingEnabled = true;
}
#region Implementation of IUnitOfWork
/// <summary>
/// Commit all changes.
/// </summary>
public void Commit()
{
_context.SaveChanges();
}
/// <summary>
/// Rollback changes not stored in databse at
/// this moment. See references of UnitOfWork pattern
/// </summary>
public void Rollback()
{
// do nothing or dispose ? ...
}
.........................................................
#endregion
}
现在我的问题是:
实现回滚方法的最佳方法是:什么都不做或处理掉 上下文对象?
问题如下:
如果在没有保存更改的情况下处置对象,则行为是回滚但是然后 例如,上下文被处理,如果我现在想要用它做一些事情会发生什么 保存新的更改?
请注意,NHibernate实现具有回滚行为的显式实现。