Я использую шаблон репозитория, и у меня есть сомнения относительно того, какой код лучше с точки зрения стандартов и передовых методов.
Это для проекта MVC 5, который я запускаю, имея в виду шаблон хранилища.
Это первый подход:
Я использую конструктор для установки контекста де БД, и внутри каждого метода, который я использую,
public class EmployeeRepository : IEmployeeRepository
{
private DBModel contextBD;
public EmployeeRepository(DBModel contextBD)
{
this.contextBD = contextBD;
}
public async Task<bool> Add(Employee employee)
{
using (contextBD)
{
contextBD.Employee_Table.Add(new Employee_Table()
{
LLP_Id = employee.id,
Name = employee.name,
});
await contextBD.SaveChangesAsync();
}
return true;
}
}
Второй подход заключается в следующем:
Я не использую конструктор, а устанавливаю контекст в блоке using
public class EmployeeRepository : IEmployeeRepository
{
public async Task<bool> Add(Employee employee)
{
using (DBModel contextBD = new DBModel())
{
contextBD.Employee_Table.Add(new Employee_Table()
{
LLP_Id = employee.id,
Name = employee.name,
});
await contextBD.SaveChangesAsync();
}
return true;
}
}
Какой из них будет работать лучше, какой является наилучшей практикой и почему, каковы преимущества того или иного.