36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
|
using System;
|
|||
|
using Microsoft.EntityFrameworkCore;
|
|||
|
using Microsoft.Extensions.DependencyInjection;
|
|||
|
using Castle.MicroKernel.Registration;
|
|||
|
using Castle.Windsor.MsDependencyInjection;
|
|||
|
using Abp.Dependency;
|
|||
|
using BCS.BMC.EntityFrameworkCore;
|
|||
|
using BCS.BMC.Identity;
|
|||
|
|
|||
|
namespace BCS.BMC.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<BMCDbContext>();
|
|||
|
builder.UseInMemoryDatabase(Guid.NewGuid().ToString()).UseInternalServiceProvider(serviceProvider);
|
|||
|
|
|||
|
iocManager.IocContainer.Register(
|
|||
|
Component
|
|||
|
.For<DbContextOptions<BMCDbContext>>()
|
|||
|
.Instance(builder.Options)
|
|||
|
.LifestyleSingleton()
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|