nopCommerce_4.40.4程序通过FluentMigrator中间件,实现了对多数据库软件中指定数据库中表、字段及其约束规则的自动生成和数据CURD交互操作。
024 CommonConfig、ISoftDeletedEntity基础性支撑耦合
CommonConfig类,该类把当前程序的通用配置类中的默认配置值,持久化到一个指定的配置文件中(这里特指:appsettings.json)。
ISoftDeletedEntity接口,继承于该接口的实体类进行数据库表映射操作时,会在数据库相应表中添加一个逻辑删除字段。
025 EntityDeletedEvent、EntityInsertedEvent、EntityUpdatedEvent、EventPublisherExtensions、IeventPublisher 功能性支撑耦合
EntityDeletedEvent类,该类获取指定实体在指定数据库进行删除操作的横切事件。
EntityInsertedEvent类,该类获取指定实体在指定数据库进行插入操作的横切事件。
EntityUpdatedEvent类,该类获取指定实体在指定数据库进行更新操作的横切事件。
EventPublisher接口,继承该接口的具体实现类对当前程序中所有实体的横切信息进行发布操作。
EventPublisherExtensions类,对取指定实体在指定数据库进行插入、更新、删除操作的横切事件进行发布操作。
026 FluentMigratorMetadataReader、LinqToDBPostgreSQLDataProvider、NopDbStartup、BaseDataProvider、MsSqlDataProvider、MySqlDataProvider、PostgreSqlDataProvider 功能性支撑耦合
FluentMigratorMetadataReader类,该类把当前程序中所有实体类中属性成员进行约束规则的定义。
LinqToDBPostgreSQLDataProvider类,该类通过拷贝构造方法设置了,查询表达式(Linq)的数据源提供程序为PostgreSQL软件,且版本在9.5及其以上的版本。
NopDbStartup类,把数据库启动功能,添加(加载/安装)到.NetCore框架内置的管道和依赖注入中间件实例中,为在选定的数据库软件的指定数据库中自动生成表、字段及其约束规则提供支撑。
BaseDataProvider抽象类,该类通过linq2db实现当前程序与选定数据库软件中指定的数据库进行数据交换操作。
MsSqlDataProvider类,继承INopDataProvider接口和BaseDataProvider抽象类,定义当前程序与Microsoft SQL Server数据库软件中指定的数据库进行数据交换操作。
MySqlDataProvider类,继承INopDataProvider接口和BaseDataProvider抽象类,定义当前程序与Oracle MySql数据库软件中指定的数据库进行数据交换操作。
PostgreSqlDataProvider类,继承INopDataProvider接口和BaseDataProvider抽象类,定义当前程序与PostgreSQL数据库软件中指定的数据库进行数据交换操作。
027 IDataProviderManager、DataProviderManager、IRepository、EntityRepository功能性支撑耦合
IDataProviderManager接口,继承于该接口的具体实现类通过其拷贝构造方法,初始化/实例化与当前程序进行连接的数据库软件,为实现当前程序与选定数据库软件中的指定数据库进行数据交换操作提供支持。
DataProviderManager类,继承于IDataProviderManager接口,该类通过其拷贝构造方法,初始化/实例化与当前程序进行连接的数据库软件,为实现当前程序与选定数据库软件中的指定数据库进行数据交换操作提供支持。
IRepository接口,继承于该接口的具体实现类,通过第3方FluentMigrator数据交换中间件,实现当前程序中所有实体类与指定数据库相应的表之间数据的CURD交互操作。
EntityRepository类,继承于IRepository接口,通过第3方FluentMigrator数据交换中间件,实现当前程序中所有实体类与指定数据库相应的表之间数据的CURD交互操作。
对以上功能更为具体实现和注释见:21-11-19-006_Nop_4.40.4数据交换层之多数据库支持和CURD操作功能性耦合的支撑实现)。