Skip to content

种子数据

种子数据是指第一次安装时(或新增租户时/或版本更新时)需要初始化进数据库中的数据,比如门店信息,员工信息,权限信息等......

新增种子数据贡献者

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));
        }
    }
}

广州宝点数字化科技