using CMS.Plugin.PipeLineLems.MySQL; using CMS.Plugin.PipeLineLems.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.PipeLineLems.EntityFrameworkCore.Tests { /// /// MyProjectName TestEntityFrameworkCoreModule /// [DependsOn( typeof(PipeLineLemsTestBaseModule), typeof(CMSPluginEntityFrameworkCoreModule), typeof(AbpEntityFrameworkCoreSqliteModule))] public class PipeLineLemsTestEntityFrameworkCoreModule : AbpModule { /// /// ConfigureServices /// /// ServiceConfigurationContext public override void ConfigureServices(ServiceConfigurationContext context) { var sqliteConnection = CreateDatabaseAndGetConnection(); Configure(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().UseSqlite(connection).Options).GetService().CreateTables(); return connection; } } }