上节讲述了数据库的手动建立的过程,但是在数据库中的用户、角色和密码表中都没有任何数据产生,本节将讲述nopCommerce_4.20项目是怎样对用户、角色和密码表进行初始化的。
在InstallController.cs文件的public virtual IActionResult Index(InstallModel model)方法中添加以下语句:
//现在解析安装服务,为数据库中的用户、角色和密码表初始化数据。
var installationService = EngineContext.Current.Resolve<IInstallationService>();
installationService.InstallRequiredData(model.AdminEmail, model.AdminPassword);
在Nop.Services项目的Installation文件夹中添加CodeFirstInstallationService.cs和IInstallationService.cs文件并定义其中的所有方法。
在Nop.Web.Framework\Infrastructure文件夹的DependencyRegistrar.cs文件中添加以下语句:
builder.RegisterType<CodeFirstInstallationService>().As<IInstallationService>().InstancePerLifetimeScope();
在Nop.Core\Domain\Customers文件夹中添加其中的所有的文件并定义其中的所有方法。
在Nop.Services\Customers文件夹中添加其中的所有的文件并定义其中的所有方法。
在Nop.Core\Domain\Security文件夹中添加其中的所有的文件并定义其中的所有方法。
在Nop.Services\Security文件夹中添加其中的所有的文件并定义其中的所有方法。
在Nop.Data\Mapping\Customers文件夹中添加其中的所有的文件并定义其中的所有方法。
在DependencyRegistrar.cs文件中添加以下定义:
//服务。
builder.RegisterType<CustomerService>().As<ICustomerService>().InstancePerLifetimeScope();
builder.RegisterType<EncryptionService>().As<IEncryptionService>().InstancePerLifetimeScope();
builder.RegisterType<CustomerRegistrationService>().As<ICustomerRegistrationService>().InstancePerLifetimeScope();
builder.RegisterType<SettingService>().As<ISettingService>().InstancePerLifetimeScope();
按F5之后会在所创建的数据库中的用户、角色和密码表中添加相应的数据。
至于更新详细的信息请见我所上传代码“2019-06-18_MyNopCommerce_VS19Core2.2Nop4.20(不删,008_初始化用户、用色和密码)。 (https://download.csdn.net/download/zhoujian_911/11246885)”。