using CMS.Plugin.HIAWms.MySQL;
|
using CMS.Plugin.HIAWms.TestBase;
|
using Microsoft.Data.Sqlite;
|
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
using Microsoft.EntityFrameworkCore.Storage;
|
using Volo.Abp.EntityFrameworkCore;
|
using Volo.Abp.EntityFrameworkCore.Sqlite;
|
using Volo.Abp.Modularity;
|
|
namespace CMS.Plugin.HIAWms.EntityFrameworkCore.Tests
|
{
|
/// <summary>
|
/// MyProjectName TestEntityFrameworkCoreModule
|
/// </summary>
|
[DependsOn(
|
typeof(HIAWmsTestBaseModule),
|
typeof(CMSPluginEntityFrameworkCoreModule),
|
typeof(AbpEntityFrameworkCoreSqliteModule))]
|
public class HIAWmsTestEntityFrameworkCoreModule : AbpModule
|
{
|
/// <summary>
|
/// ConfigureServices
|
/// </summary>
|
/// <param name="context">ServiceConfigurationContext</param>
|
public override void ConfigureServices(ServiceConfigurationContext context)
|
{
|
var sqliteConnection = CreateDatabaseAndGetConnection();
|
|
Configure<AbpDbContextOptions>(options =>
|
{
|
options.Configure(dbContextConfigurationContext =>
|
{
|
dbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection);
|
});
|
});
|
}
|
|
private static SqliteConnection CreateDatabaseAndGetConnection()
|
{
|
var connection = new SqliteConnection("Data Source=:memory:");
|
connection.Open();
|
|
new CMSPluginDbContext(
|
new DbContextOptionsBuilder<CMSPluginDbContext>().UseSqlite(connection).Options).GetService<IRelationalDatabaseCreator>().CreateTables();
|
|
return connection;
|
}
|
}
|
}
|