Thanks for your explanation on the use of Value Objects in DDD. These are useful information.
My question is more about whether Value Objects should be used for associative entities in a SQL database. On page 28 of Halil's ebook, he used Value Object for an associate entity called "IssueLabel". See diagram below.
However, when I looked at ABP framework's own implementation of such associative entities like AbpUserRole or AbpUserOrganizationUnits, Entities are used instead of Value Objects.
Just wanted to know if associative entities/tables that map relationships between entities should be using Entities or Value Objects in ABP framework as Halil seems to be suggesting something different from the actual implementation in his ebook.
Thanks.
Best regards, Vincent
Thanks Halil for your clarifications! It's most helpful.
One feature I would like to request in the ABP Suite is to allow the creation of an Entity with composite keys rather than a primary key, as shown in the screenshot below.
This will greatly assist in creating associative entities that use a composite key, like in the case of AbpUserRole where UserId and RoleId are used for its composite key.
By the way, I just realized that EF Core 5 removes the need to code associative entities for many-to-many relationships between Entities. This helps to separate the domain model from the data model.
https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/whatsnew
There's a bug in ABP Suite 4.4.3 where the entity creation feature results in a wrong namespace in the *.Blazor/Pages/[microservice_name]/[entity_name].razor.cs file.
The correct namespace generated should be *.[microservice_name].Blazor.Pages.[microservice_name] instead of *.[microservice_name].Blazor.Pages
Yes, it will be incredibly useful to have the ability to generate a microservice that uses MongoDB. I believe many people will need this feature.
Look forward to that!
Hi Neozzz,
I'm trying to achieve the same thing as you but I'm still trying to figure things out. It will be great if you could share how you change the new microservice to use MongoDB while the other microservices are still using EF Core.
Thanks!
Hi Liang, if you don't mind, could you email me the changes needed for mongodb as well?
Thanks!
I found that requests for API endpoints timed out often in a Blazor WebAssembly application from a new ABP 5.0 microservice solution freshly-created using the latest ABP Suite. See below for error message & exception.
An error occurred during the ABP remote HTTP request. (The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.) See the inner exception for details.Volo.Abp.Http.Client.AbpRemoteCallException: An error occurred during the ABP remote HTTP request. (The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.) See the inner exception for details.
Timeout happens after I click around in the Blazor app to send some requests. After waiting for a while, it works again but timeout will happen again after a few more clicks. Is there some kind of rate limit, or is something not working right? This is a fresh new solution from ABP Suite.
Please see the log of the IdentityService here -> https://drive.google.com/file/d/1u_UdsrW61GUlpwodBCHS55g5p5tcZ1yq/view?usp=sharing
As you can see from the log, there are no errors in the API calls in the IdentityService. However, the errors in the browser console show:
The Blazor WebAssembly app seems to have problems processing the API call results. Please try building a new v5.1.1 microservice solution with Blazor WebAssembly and see if you have the same issues.
I tried with Tye and the issues went away. I didn't realize Tye is necessary for running a microservice solution in ABP v5.X. It wasn't the case in v4.X. Is it because of localhost.pfx?
If I don't want to use Tye, how do I run the various projects within Visual Studio and not have this issue?