具有工作单元的MVC存储库模式

时间:2016-07-13 12:41:11

标签: model-view-controller repository-pattern unit-of-work

我已将具有工作单元的存储库模式实现到MVC应用程序中。以下是实施:

     public interface IUnitOfWork
    {
        IStudentRepository Students { get; }
        ICourseRepository Courses { get; }
        void Complete();
    }`
`    `
    public class UnitOfWork : IUnitOfWork
    {
        private readonly ApplicationDbContext _context;

        public IStudentRepository Students { get; private set; }
        public ICourseRepository Courses { get; private set; }

        public UnitOfWork(ApplicationDbContext context)
        {
            _context = context;
            Students = new StudentRepository(_context);
            Courses = new CourseRepository(_context);
        }

        public void Complete()
        {
            _context.SaveChanges();
        }
    }

` 我的问题是,当我拥有100个存储库时,启动存储库的最佳方法是什么?

由于

1 个答案:

答案 0 :(得分:1)

我从此视频的其中一条评论中找到了答案:https://www.youtube.com/watch?v=rtXpYpZdOzM

不是在构造函数中初始化存储库,而是可以使用如下的getter:

IndexModel(productSales: Seq[ProductSale])

case class ProductSale(id: Int, name: String, soldAt: java.time.ZonedDateTime)