Appearance
种子数据
种子数据是指第一次安装时(或新增租户时/或版本更新时)需要初始化进数据库中的数据,比如门店信息,员工信息,权限信息等......
新增种子数据贡献者
C#
public class BasicDataSeedContributor : IDataSeedContributor
{
/// <summary>
/// 排序
/// </summary>
public int SortIndex => 0;
/// <summary>
/// 构造函数,可获取注入信息
/// </summary>
public BasicDataSeedContributor()
{ }
/// <summary>
/// 播种数据
/// </summary>
public void Seed(DataSeedContext context)
{
// 执行数据保存到数据库
}
}加入到种子数据工厂
C#
namespace JingJian.Package.Basic
{
public class Package : PackageBase
{
public override string PackageName => "鲸舰-基础包";
public override string ServiceName => "basic";
private readonly IConfiguration _configuration;
public Package(IConfiguration configuration)
{
this._configuration = configuration;
}
public override void OnMounted(IApplication application, IServiceProvider serviceProvider)
{
base.OnMounted(application, serviceProvider);
// 加入种子数据
var dataSeedFactory = IocManager.Instance.RootServices.GetRequiredService<IDataSeedFactory>();
dataSeedFactory.AddContributor(serviceProvider, typeof(BasicDataSeedContributor));
}
}
}