Пример #1
0
        public TestBase()
        {
            Connection = _fixture.Connection;
            Mapper     = AutoMapperConfiguration.Mapper;
            var options = new DbContextOptionsBuilder <VexItContext>()
                          .UseSqlite(Connection)
                          .Options;

            Context = new VexItContext(options);
            Context.Database.Migrate();

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddSingleton(this.Context);


            serviceCollection.AddSingleton(this.Mapper);
            serviceCollection.AddDbContext <VexItContext>(ops => { ops.UseSqlite(Connection); });

            serviceCollection.AddTransient <IRepository <Event>, EventRepository>();
            serviceCollection.AddTransient <IEventsService, EventsService>();
            ServiceProvider = serviceCollection.BuildServiceProvider();

            // sqllite supports only serializable isolation level
            Context.DefaultBatchIsolationLevel = IsolationLevel.Serializable;
            DatabaseFixture.Migrate(ServiceProvider);
        }
Пример #2
0
 public EntityRepositoryBase(VexItContext context)
     : base(context)
 {
 }
Пример #3
0
 public EventRepository(VexItContext context) : base(context)
 {
 }
Пример #4
0
 protected RepositoryBase(VexItContext context)
 {
     Context = context;
 }
Пример #5
0
 protected BaseDataService(IMapper mapper, IRepository <T> repository)
 {
     Mapper     = mapper ?? throw new ArgumentNullException(nameof(mapper));
     Repository = repository ?? throw new ArgumentNullException(nameof(repository));
     Context    = Repository.Context;
 }