单独的UnitOfWork与部分上下文分开

时间:2014-05-29 04:24:21

标签: c# entity-framework orm dbcontext unit-of-work

我正在使用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();
    }
}

两者之间更好的方法是什么? 提前谢谢!

0 个答案:

没有答案