public static void ConfigureNotifications(
            this ModelBuilder builder,
            Action <AbpModelBuilderConfigurationOptions> optionsAction = null)
        {
            Check.NotNull(builder, nameof(builder));

            var options = new AbpModelBuilderConfigurationOptions(
                AbpCommonDbProperties.DbTablePrefix,
                AbpCommonDbProperties.DbSchema
                );

            optionsAction?.Invoke(options);

            builder.Entity <AbpDzNotificationInfo>(b =>
            {
                b.ToTable(nameof(AbpDzNotificationInfo), options.Schema);
                b.HasIndex(k => k.SenderId);
                b.HasIndex(k => k.RecipientId);
                b.HasIndex(k => k.RecipientRoleId);
                b.HasIndex(k => k.Code);
                b.HasIndex(k => k.RecipientPermission);
                b.HasIndex(k => k.DataTypeName);
                b.HasIndex(k => k.EntityId);
                b.HasIndex(k => k.Severity);
                b.HasIndex(k => k.State);
                b.ConfigureByConvention();
            });
        }
        public static void ConfigureHello(this ModelBuilder builder)
        {
            Check.NotNull(builder, nameof(builder));

            AbpModelBuilderConfigurationOptions options = new AbpModelBuilderConfigurationOptions(
                DbProperties.DbTablePrefix,
                DbProperties.DbSchema
                );


            builder.Entity <City>(b =>
            {
                b.ToTable(options.TablePrefix + "Cities");
                b.HasOne <StateProvince>().WithMany().HasForeignKey(ur => ur.StateProvinceId);
                b.HasIndex(q => q.Id);
            });

            builder.Entity <StateProvince>(b =>
            {
                b.ToTable(options.TablePrefix + "StateProvinces");
                b.HasOne <Country>().WithMany().HasForeignKey(ur => ur.CountryId);
                b.HasMany(u => u.Cities).WithOne().HasForeignKey(uc => uc.StateProvinceId);
                b.HasIndex(q => q.Id);
            });

            builder.Entity <Country>(b =>
            {
                b.ToTable(options.TablePrefix + "Countries");
                b.HasMany(u => u.StateProvinces).WithOne().HasForeignKey(uc => uc.CountryId);
                b.HasIndex(q => q.Id);
            });
        }
        private static void ConfigureDemoEntities(ModelBuilder builder)
        {
            Check.NotNull(builder, nameof(builder));

            var options = new AbpModelBuilderConfigurationOptions("Demo");

            builder.Entity <Book>(b =>
            {
                b.ToTable(options.TablePrefix + "Books", options.Schema);

                b.ConfigureByConvention();
            });
        }