nopCommerce_4.40.3 功能实现详解----- 第9章 生成数据库及其表

下面将会按照自顶向下的开发模式来讲解,怎样自动生成数据及其表。

0029 HomeController

1、定义HomeController类。

2、添加Nop.Web\Views\Home\Index.cshtml,Razo页面。

3、重构Nop.Web.Controllers.InstallController类。

4、重构Nop.Web.Infrastructure.RouteProvider.RegisterRoutes方法。

5、重构Nop.Web.Framework.Infrastructure.DependencyRegistrar.Register方法添加语句:

     //通过.NetCore框架依赖注入容器实例的指定API方法,对数据交接中间件(这里特指:FluentMigrator)和指定数据库软件进行依赖注入操作。。

            services.AddTransient<IDataProviderManager, DataProviderManager>();

            services.AddTransient(serviceProvider =>

                serviceProvider.GetRequiredService<IDataProviderManager>().DataProvider);

6、按F5执行程序,并提交数据库安装页面中的信息后,打开指定的数据库软件,在该软件中已经自动生成了指定的数据库,但没有实体实例对应的表。

7、重构Nop.Data.NopDbStartup.ConfigureServices方法。

0030 NopMigrationDefaults、NopMigrationAttribute、SchemaMigration

NopMigrationDefaults类,根据该类及其属性成员的定义,对数据库中的迁移信息表持久化一些指定的数据信息。

NopMigrationAttribute类,该类会作为一个指定迁移类的标记,在执行了指定迁移类后,会在指定迁移信息表中持久化一行相关的迁移信息数据。

SchemaMigration类,根据当前程序中定义所有的实例类型、及其属性成员、和属性成员的类型、约束规则,通过迁移操作在指定的数据库中自动生成指定表及其字段。

8、按F5执行程序,并提交数据库安装页面中的信息后,打开指定的数据库软件,在该软件中已经自动生成了指定的数据库及其相应的表。

    (1)、在Microsoft SQL Server数据库软件中自动生成指定数据库及其表。

(2)、在MySQL数据库软件中自动生成指定数据库及其表。

注意:

  1. nopCommerce程序实现与MySQL数据库软件数据交互操作时,MySQL数据库软件的端口必为默认端口:3306,否则就会因连接不到该数据库软件而,导致异常不能在该软件中自动生成指定的数据库及其表。
  2. 服务器名称也必须为127.0.0.1,否则会因连接不到该数据库软件而,导致异常不能在该软件中自动生成指定的数据库及其表。
  3. SQL Server用户名也必须为root,否则也因连接不到该数据库软件而,导致异常不能在该软件中自动生成指定的数据库及其表。

(3)、在PostgreSQL数据库软件中自动生成指定数据库及其表。

注意:

  1. nopCommerce程序实现与PostgreSQL数据库软件数据交互操作时, 服务器名称必须为127.0.0.1,否则会因连接不到该数据库软件而,导致异常不能在该软件中自动生成指定的数据库及其表。
  2. SQL Server用户名也必须为postgres,否则也因连接不到该数据库软件而,导致异常不能在该软件中自动生成指定的数据库及其表。

9、对以上功能更为具体实现和注释见:21-08-07_Nop_4.40.3(009_执行程序自动在指定的数据库软件中自动生成相应的生成数据库及其表)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值