0
私は作業ユニットを持つリポジトリパターンをMVCアプリケーションに実装しました。ここで実装したものです:私は、リポジトリの数百を持っている場合、作業ユニットを含む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();
}
}
` 私の質問があり、リポジトリを開始する最良の方法は何ですか?
public class UnitOfWork : IUnitOfWork
{
private readonly ApplicationDbContext _context;
private ICourseRepository _courses = null;
private IStudentRepository _students = null;
public UnitOfWork(ApplicationDbContext context)
{
_context = context;
}
public ICourseRepository Courses => _courses ?? (_courses = new CourseRepository(_context));
public IStudentRepository Students => _students ?? (_students = new StudentRepository(_context));
:私は以下のようにゲッターを使用することができ、コンストラクタでリポジトリを初期化する代わりに
https://www.youtube.com/watch?v=rtXpYpZdOzM
:
おかげ
エンティティフレームワークはすでにリポジトリを使用した作業ユニットです。なぜホイールを再発明しようとしますか? –