Я добавляю свою библиотеку классов DBContext и репозиторий в свое веб-приложение, используя DI.
services.AddDbContext<CitiesFrameworkCore.Entities.CityInfoContext>(o =>
o.UseSqlServer(@"Server=(localdb)\MSSQLLocalDB;Database=CitiesFrameworkCoreDB;Trusted_Connection=True;"));
services.AddScoped<ICityInfoRepository, CitiesFrameworkCore.Repositorys.CityInfoRepository>();
Моя проблема в том, что я не знаю, как ссылаться на свой контекст внутри своего репозитория библиотеки классов (я не могуиспользуйте внедрение зависимостей, потому что оно внедрено в другую сборку).
public class CityInfoRepository : ICityInfoRepository
{
private CityInfoContext _context;
public CityInfoRepository(CityInfoContext context)
{
_context = context;
}
public bool CityExists(int cityId)
{
return _context.Cities.Any(c => c.Id == cityId);
}
}
мой класс DBContext:
public class CityInfoContext : DbContext
{
public CityInfoContext(DbContextOptions<CityInfoContext> options)
: base(options)
{
Database.Migrate();
}
public DbSet<City> Cities { get; set; }
public DbSet<PointOFInterest> PointOFInterests { get; set; }
}
Я хочу иметь возможность добавить нужный репозиторий из моей библиотеки классовв контроллер, чтобы выполнять действия базы данных и держать мой репозиторий и структуру сущностей отдельно от моего веб-API.