2020-12-24 14:53:09 +08:00

36 lines
1.2 KiB
C#

using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Castle.MicroKernel.Registration;
using Castle.Windsor.MsDependencyInjection;
using Abp.Dependency;
using MineTec.ProManager.EntityFrameworkCore;
using MineTec.ProManager.Identity;
namespace MineTec.ProManager.Tests.DependencyInjection
{
public static class ServiceCollectionRegistrar
{
public static void Register(IIocManager iocManager)
{
var services = new ServiceCollection();
IdentityRegistrar.Register(services);
services.AddEntityFrameworkInMemoryDatabase();
var serviceProvider = WindsorRegistrationHelper.CreateServiceProvider(iocManager.IocContainer, services);
var builder = new DbContextOptionsBuilder<ProManagerDbContext>();
builder.UseInMemoryDatabase(Guid.NewGuid().ToString()).UseInternalServiceProvider(serviceProvider);
iocManager.IocContainer.Register(
Component
.For<DbContextOptions<ProManagerDbContext>>()
.Instance(builder.Options)
.LifestyleSingleton()
);
}
}
}