using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Util.Aop;
using Util.Dates;
using Util.Helpers;
using Util.Sessions;
using Util.Tenants;
using Util.Tests.Infrastructure;
using Util.Tests.UnitOfWorks;
using Xunit.DependencyInjection.Logging;
namespace Util.Data.EntityFrameworkCore;
///
/// 启动配置
///
public class Startup {
///
/// 配置主机
///
public void ConfigureHost( IHostBuilder hostBuilder ) {
Util.Helpers.Environment.SetDevelopment();
hostBuilder.ConfigureDefaults( null )
.AsBuild()
.AddAop()
.AddTenant()
.AddUtc()
.AddSqlServerUnitOfWork( Config.GetConnectionString( "connection" ) )
.AddUtil();
}
///
/// 配置服务
///
public void ConfigureServices( IServiceCollection services ) {
services.AddLogging( logBuilder => logBuilder.AddXunitOutput() );
services.AddSingleton();
InitDatabase( services );
}
///
/// 初始化数据库
///
private void InitDatabase( IServiceCollection services ) {
var unitOfWork = services.BuildServiceProvider().GetService();
unitOfWork.EnsureDeleted();
unitOfWork.EnsureCreated();
}
}