diff --git a/docs/en/low-code/fluent-api.md b/docs/en/low-code/fluent-api.md index c9c4ea9e33..73aa64a534 100644 --- a/docs/en/low-code/fluent-api.md +++ b/docs/en/low-code/fluent-api.md @@ -285,17 +285,17 @@ Enum localization follows the usual ABP pattern: | Attribute | Use it for | Key members | |-----------|------------|-------------| -| `[DynamicPropertyUI]` | Sets the property display name | `DisplayName` | -| `[Display(Name = ...)]` | Sets the property display name with standard .NET metadata | `Name` | -| `[DynamicPropertyType]` | Overrides the inferred low-code type | `Type` | -| `[DynamicPropertyDefaultValue]` | Sets the descriptor default value | `DefaultValue` | -| `[DynamicPropertyNotMapped]` | Stores the property in the data dictionary instead of a dedicated DB field | No properties | -| `[DynamicForeignKey]` | Configures a lookup relation | `EntityName`, `DisplayPropertyName`, `Access`, `DependsOnPropertyName`, `DependsOnFilterPropertyName` | -| `[DynamicPropertySetByClients]` | Controls whether clients may write the field | `Allow` | -| `[DynamicPropertyServerOnly]` | Hides the field from clients entirely | No properties | -| `[DynamicPropertyUnique]` | Marks the field as unique | No properties | -| `[DynamicPropertyFileOptions]` | Marks the field as a file and applies upload constraints | `MaxSizeBytes`, `AllowedContentTypes` | -| `[DynamicPropertyImageOptions]` | Marks the field as an image and applies upload and resize constraints | `MaxSizeBytes`, `MaxWidth`, `MaxHeight`, `ResizeMode`, `AllowedContentTypes` | +| [DynamicPropertyUI] | Sets the property display name | `DisplayName` | +| [Display(Name = ...)] | Sets the property display name with standard .NET metadata | `Name` | +| [DynamicPropertyType] | Overrides the inferred low-code type | `Type` | +| [DynamicPropertyDefaultValue] | Sets the descriptor default value | `DefaultValue` | +| [DynamicPropertyNotMapped] | Stores the property in the data dictionary instead of a dedicated DB field | No properties | +| [DynamicForeignKey] | Configures a lookup relation | `EntityName`, `DisplayPropertyName`, `Access`, `DependsOnPropertyName`, `DependsOnFilterPropertyName` | +| [DynamicPropertySetByClients] | Controls whether clients may write the field | `Allow` | +| [DynamicPropertyServerOnly] | Hides the field from clients entirely | No properties | +| [DynamicPropertyUnique] | Marks the field as unique | No properties | +| [DynamicPropertyFileOptions] | Marks the field as a file and applies upload constraints | `MaxSizeBytes`, `AllowedContentTypes` | +| [DynamicPropertyImageOptions] | Marks the field as an image and applies upload and resize constraints | `MaxSizeBytes`, `MaxWidth`, `MaxHeight`, `ResizeMode`, `AllowedContentTypes` | #### Display Names: `[DynamicPropertyUI]` and `[Display]` @@ -609,15 +609,19 @@ AbpDynamicEntityConfig.EntityConfigurations.Configure( ## EF Core Setup -Your DbContext should implement `IDbContextWithDynamicEntities` and call `ConfigureDynamicEntities()`: +Your DbContext should implement `IDbContextWithDynamicEntities` and call both `ConfigureDynamicEntities()` and `ConfigureLowCode()`. +Call `ConfigureDynamicEntities()` before `base.OnModelCreating(builder)` so dynamic entity mappings are available when ABP applies the base model conventions: ````csharp public class CatalogDbContext : AbpDbContext, IDbContextWithDynamicEntities { protected override void OnModelCreating(ModelBuilder builder) { - base.OnModelCreating(builder); builder.ConfigureDynamicEntities(); + + base.OnModelCreating(builder); + + builder.ConfigureLowCode(); } } ```` diff --git a/docs/en/low-code/images/runtime-create-form.png b/docs/en/low-code/images/runtime-create-form.png index 477fb40657..1574da2015 100644 Binary files a/docs/en/low-code/images/runtime-create-form.png and b/docs/en/low-code/images/runtime-create-form.png differ diff --git a/docs/en/low-code/images/runtime-dashboard.png b/docs/en/low-code/images/runtime-dashboard.png index dc11f77ea0..a93a683d17 100644 Binary files a/docs/en/low-code/images/runtime-dashboard.png and b/docs/en/low-code/images/runtime-dashboard.png differ diff --git a/docs/en/low-code/images/runtime-data-grid.png b/docs/en/low-code/images/runtime-data-grid.png index d11b2b021a..c411b41126 100644 Binary files a/docs/en/low-code/images/runtime-data-grid.png and b/docs/en/low-code/images/runtime-data-grid.png differ diff --git a/docs/en/low-code/images/runtime-filters-has-value.png b/docs/en/low-code/images/runtime-filters-has-value.png index 834b3f27fe..e145e220ae 100644 Binary files a/docs/en/low-code/images/runtime-filters-has-value.png and b/docs/en/low-code/images/runtime-filters-has-value.png differ diff --git a/docs/en/low-code/images/runtime-filters.png b/docs/en/low-code/images/runtime-filters.png index 1df4e1a896..f2d8532ded 100644 Binary files a/docs/en/low-code/images/runtime-filters.png and b/docs/en/low-code/images/runtime-filters.png differ