我正在使用Entity Framework Database First并实现工作单元和存储库模式。 我只是被这个关于使用什么的想法撕掉了,要么我要使用一个单独的工作单位:
public class UnitOfWork : IUnitOfWork
{
private MyContext _context;
public IUserRepository User { get; private set; }
public UnitOfWork()
{
_context = new MyContext();
User = new UserRepository(this);
}
public Commit()
{
_context.SaveChanges();
}
}
或者只是将我生成的上下文模型覆盖到:
public partial class MyContext : IUnitOfWork
{
public IUserRepository User { get; private set; }
public MyContext(bool isUnitOfWork) // just to distinguish from the original constructor
{
User = new UserRepository(this);
}
public Commit()
{
this.SaveChanges();
}
}
两者之间更好的方法是什么? 提前谢谢!