В настоящее время я использую DbContext
, подобный этому:
namespace Models
{
public class ContextDB: DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<UserRole> UserRoles { get; set; }
public ContextDB()
{
}
}
}
Затем я использую следующую строку в верхней части ВСЕ моих контроллеров, которым необходим доступ к базе данных. Я также использую его в своем классе UserRepository, который содержит все методы, относящиеся к пользователю (например, получение активного пользователя, проверка его ролей и т.д.):
ContextDB _db = new ContextDB();
Думая об этом.. происходят случаи, когда один посетитель может иметь несколько активных объектов DbContexts. если ГЭС посещает контроллер, который использует UserRepository.. это может быть не лучшее из идей, и у меня есть несколько вопросов об этом
- Когда мне нужно создать новый DbContext/должен ли я иметь один глобальный контекст, который я просматриваю?
- Могу ли я иметь один глобальный контекст, который я буду использовать во всех местах?
- Это приводит к поражению производительности?
- Как все это делают?