Files
Yi.Admin/Yi.Furion.Net6/Yi.Framework.Infrastructure/Data/DataSeeds/DataSeedExtensions.cs

49 lines
1.5 KiB
C#
Raw Normal View History

2023-04-19 16:35:47 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Furion;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using SqlSugar;
namespace Yi.Framework.Infrastructure.Data.DataSeeds
{
public static class DataSeedExtensions
{
public static async Task<IApplicationBuilder> UseDataSeedServer(this IApplicationBuilder builder)
{
if (!App.Configuration.GetSection("EnabledDataSeed").Get<bool>())
{
return builder;
}
var dataSeeds = builder.ApplicationServices.GetServices<IDataSeed>();
var iUnitOfWorkManager = builder.ApplicationServices.GetRequiredService<ISqlSugarClient>();
if (dataSeeds is not null)
{
//using (var uow = iUnitOfWorkManager.CreateContext())
//{
//var res = await iUnitOfWorkManager.Ado.UseTranAsync(async () =>
// {
2023-04-19 16:35:47 +08:00
foreach (var seed in dataSeeds)
{
await seed.InvokerAsync();
}
//});
2023-04-19 16:35:47 +08:00
//var res = uow.Commit();
//if (!res.IsSuccess)
//{
//throw new ApplicationException("种子数据初始化异常");
//}
2023-04-19 16:35:47 +08:00
//}
}
return builder;
2023-04-19 16:35:47 +08:00
}
}
}