I'm so confused after reading so many blogs I'm still not sure which way to go and I need help with Repository/UOF pattern using EF 6.
As I was following the example here asp.net/mvc/tutorials and got stuck in "Creating the Unit of Work Class" here, I was wondering: why is that author creating repository Department/Course inside the Unit Of Work? is that best practice? What if I have 20 different entities? Will I be instantiates the repository in the UOF?
public GenericRepository<Department> DepartmentRepository
public GenericRepository<Course> CourseRepository
//sample code extract from the link and you can see here its instantitates the repository in UOF which is the best practice?
public class UnitOfWork : IDisposable
{
private SchoolContext context = new SchoolContext();
private GenericRepository<Department> departmentRepository;
private GenericRepository<Course> courseRepository;
public GenericRepository<Department> DepartmentRepository
{
get
{
if (this.departmentRepository == null)
{
this.departmentRepository = new GenericRepository<Department>(context);
}
return departmentRepository;
}
}
public GenericRepository<Course> CourseRepository
{
get
{
if (this.courseRepository == null)
{
this.courseRepository = new GenericRepository<Course>(context);
}
return courseRepository;
}
}
public void Save()
{
context.SaveChanges();
}
private bool disposed = false;
protected virtual void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
context.Dispose();
}
}
this.disposed = true;
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
}