Внедрение зависимостей в вашем приложении позволяет использовать любой объект в качестве набора функций, которые могут быть повторно использованы несколькими объектами. Чтобы добавить контекст вашей базы данных в качестве внедрения зависимостей, вы должны добавить его в файл Startup.cs, который. Создается шаблон по умолчанию для веб-приложений NetCore.
using Microsoft.Extensions.DependencyInjection;
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>();
}
Теперь ваш контекст можно внедрить в любой конструктор объектов вашего приложения, и вы можете сохранить его как свойство, к которому можно получить доступ в любой точке этой области объекта
public class MyController
{
private readonly ApplicationDbContext _dbContext;
public MyController(ApplicationDbContext dbContext)
{
_dbContext = dbContext;
}
private void MethodA()
{
//accessing dbcontext
_dbContext.MyTable.ToList();
}
}
Редактировать : Очевидно, OP имел в виду, что он хочет, чтобы его TenantHelper
был доступен во всех его приложениях, и все же это проблема, которую решает внедрение зависимостей, но требуется лишь быстрая доработка.
public void ConfigureServices(IServiceCollection services)
{
//This adds your object as a reusable set of functions that is initialized for every different request
services.AddScoped<TenantHelper>();
}
Теперь проделайте тот же процесс для вставки вашего TenantHelper
в другой код, что и в ApplicationDbContext