как ссылаться на Dbcontext внутри моего репозитория, когда есть оба в библиотеке классов? - PullRequest
0 голосов
/ 10 октября 2018

Я добавляю свою библиотеку классов 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.

...