using System; using System.Linq.Expressions; namespace FreeSql { public interface IRepositoryUnitOfWork : IUnitOfWork { /// /// 在工作单元内创建联合主键的仓储类,工作单元下的仓储操作具有事务特点 /// /// /// IBaseRepository GetRepository() where TEntity : class; } class RepositoryUnitOfWork : UnitOfWork, IRepositoryUnitOfWork { public RepositoryUnitOfWork(IFreeSql fsql) : base(fsql) { } public IBaseRepository GetRepository() where TEntity : class { var repo = new DefaultRepository(_fsql); repo.UnitOfWork = this; return repo; } } }