We have already made several ABP applications with Blazor Server (without Redis Cache). But never with the "Public Website" so far. Now we would like to integrate it and were surprised that the Redis cache is necessary here. We do not have a distributed / tiered application.
I know that this is a prerequisite for the CRM module.
I would be interested to know why the cache is absolutely necessary? What are the reasons for this? Does it have to do with the fact that the Blazor app and the public website share certain things?
I also have the question of how large the cache needs to be if I host the application on Azure... that costs extra money again...
Thanks, Adrian
Thank you, but the main problem is the error in the DataGrid and not the migration ;-) But I assume you created a bug for that too.
1. Create a master entity in the Abp Suite
2. Generate the master (without "Add migration" - I only want to do this once I have generated all the entities correctly)
3. Create a child entity with the above master as parent
4. Generate the child -> ends with error due to DB migration
5. Compile the solution -> ends with error in DataGrid, see below
If the child entity contains properties that require a DisplayTemplate in the DataGrid (e.g. bool or DateTime), this leads to the following error when compiling:
RZ9999 The child content element 'DisplayTemplate' of component 'DataGridColumn' uses the same parameter name ('context') as enclosing child content element 'DetailRowTemplate' of component 'DataGrid'. Specify the parameter name like:
'<DisplayTemplate Context="another_name">to resolve the ambiguity
I can solve this by writing something like <DisplayTemplate Context="option_context"> (you already do this with the actions, for example), but it is then overwritten every time I have to regenerate the entity.
With the child, there is no option to deactivate the DB migration. If you don't want this for the master, then you don't want it for the child either. In addition, because of the above error, it naturally means that a migration can never be created because of the error in the DataGrid.
Thanks for fixing and refunding it.
Adrian
Thank you for fixing this.
Could you please refund the ticket? Thanks.
1. Create an entity in the Abp Suite
2. Add property of type Enum
3. Select enum from **another namespace** (sometimes necessary if you want to use an enum for different entities)
4. Select **Nullable**
5. Generate entity and compile solution
The using for the namespace "MyProject.Enums" is missing in the razor file:

Because the enum is optional, it must be checked for null:

Thanks for fixing it :-)
Adrian
That works, thank you!
I still have 7.4.2 and 2.4.3.
@liangshiwei: I think your change is not yet correct. You wrote the following:
options.MobileMenuSelector = items => items.Where(x => x.MenuItem.Name == "MyProjectName.Home" || x.MenuItem.Name == "MyProjectName.Dashboard");
However, it would be correct to use the constants and not strings.
options.MobileMenuSelector = items => items.Where(x => x.MenuItem.Name == MyProjectName.Home || x.MenuItem.Name == MyProjectName.Dashboard);
@liangshiwei: Perhaps this has already been fixed in your version.