Activities of "EngincanV"

Hi again,

I installed Microsoft SQL Server 2022 (RTM) - 16.0.1000.6 (X64) Express Edition (64-bit) and it worked in this version.

CompatibilityLevel 160

I understand that you have to use SQL Server CompatibilityLevel (160) in ABP Framework 8 version (abp suite and cli) , is this correct?

Changing the SQL server version at the customer location is not an easy thing, most customers will want to continue using their existing licenses. Can there be another solution to this?

Best regards

Hi, actually you would not need to set the compatibility level manually to 160 if the server would not be a local SQL server (it works as expected for other server types), I'm not sure why this is happening but I'll investigate it and take the related action (it seems there might be a bug in EF Core 8, but I'll check it deeply). And also I'll let you know about the problem and the solution.

Best regards.

I have opened a PR to fix this problem:


2024-01-11 17:44:13.980 +08:00 [ERR] An error occurred while saving the entity changes. See the inner exception for details. Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while saving the entity changes. See the inner exception for details. ---> Microsoft.Data.SqlClient.SqlException (0x80131904): INSERT 语句与 FOREIGN KEY 约束"FK_AppFlowingReports_AppProjectFlowings_ProjectFlowingId"冲突。该冲突发生于数据库"ProjectReward",表"dbo.AppProjectFlowings", column 'Id'。 语句已终止。

From the stack trace, it seems it can't add a record because it violates foreign key constraint, please check your entity configuration and the database.

Hi, I could reproduce the problem that you mentioned and created an internal issue for it. This occurs if your master entity has a name such as EntityA (I mean a pascalcase name). For a quick workaround, you can search in your application the word $(this).data("<yourentityname>-id") and replace the <yourentityname> placeholder with your entity name as lowercase.

BTW, I refunded your ticket, thanks for reporting this problem.

Hi, as far as I understand this problem occurs either because you are using a local SQL server or a lower SQL server version. You can try to set the CompatibilityLevel as 120 and try again: https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/breaking-changes#mitigations

that's mean that i should re-do the hole solution from scratch
what if i already have a project running with UI and all is good but i want to make some relations and pages using ABP Suite?

In the current structure of the master-child relationship of ABP Suite, yes you should re-configure these three entities.

But if your only purpose is to show the parties and addresses in the row detail view, then you can create a separate solution, establish a master-child relationship with these entities, and apply the "row detail view" codes in your own application. This seems a better approach for you, with this approach, you'll just define some application service methods, and apply the UI changes.

Hi, in your code PartyAddress is a join entity (join-table in the database term) and its only responsibility is to establish many-to-many relationship between Party and Address entities. Therefore, I'm not sure it's a good candidate for a master-child relationship.

In a master-child relationship, you would ideally have an entity and its data that can be considered as details of it. For example, you may have a customer entity and its contact information, in that scenario, you can define a master entity named Customer as a master entity and a Contact entity as a child entity and associate it with the master entity.

So, the master and child entity should have a key to establish a relationship and that means the master entity should have a unique identifier (Id) and in your case, since the PartyAddress is the join entity, you can't create a master-child relationship with it.

finally figured it out for anyone else experiencing the same issue.

  1. using visual studio, Build > Clean Solution
  2. in the root folder of your source code run: abp clean
  3. using visual studio, Build > Rebuild Solution
  4. after closing the abp suite, reload the abp suite and reopen your solution

To be able to generate CRUD pages, it's always good to stop your application if it's running. Otherwise, files may be locked therefore may not be changed.


I close the question, since your problem should be resolved. Feel free to re-open if it still persists.

Best regards.

I have also just compared my suite templates to that of my team members and mine are not the same. It appears the attempted upgrade to 8.0.1 and then downgrade, didnt reset the code templates. How do I reset these? I have uninstalled and reinstalled abp cli and suite numerous times to resolve with no luck. I would like to just reset the code generation templates to v7.3.2

If you want to go back to v7.3.2, then you should uninstall CLI and Suite and then re-install again (make clean uninstall).

  • Uninstalling and re-installing ABP CLI:
dotnet tool uninstall -g Volo.Abp.Cli
dotnet tool install -g Volo.Abp.Cli --version 7.3.2
  • ABP CLI clean uninstall and re-install: https://support.abp.io/QA/Questions/414/ABP-Suite-install-problem-How-can-I-reinstall-clean-install#answer-9c56ff0e-0a46-ffd1-dd08-39f78e032607

BTW, there is not a problem in ABP Suite that prevent removing these placeholders, if you make a clean uninstall and then upgrade both your CLI and Suite to v8.0.1, then you should be able to generate CRUD pages without worrying about these problems. It seems there are missing parts in your Suite installation or ABP CLI and ABP suite versions are not same.

Hi, sorry for the late response. I have identified the problem and fixed it. It will be included in v8.0.2, I'll let you know when it's released.

Btw, your ticket is refunded. Best Regards.

Hi, thanks. I have checked and reproduced the problems that you mentioned.

Blazor.Server.Host:

  • Add the below line in your RuleGroups.razor.cs's OnInitializedAsync method to be able to get the rule systems in the select box in the advanced search section:
        protected override async Task OnInitializedAsync()
        {
            await SetToolbarItemsAsync();
            await SetBreadcrumbItemsAsync();
            await SetPermissionsAsync();
            
            //add the line below
            await GetRuleSystemCollectionLookupAsync();
        }

This has already been fixed and will be available with v8.1.

Web.Unified:

  • Open the** RuleGroups/createModal.js** and RuleGroups/editModal.js files and update the serviceMethod as follows:

✅ Correct one: window.yee.change.rms.public.ruleGroups.ruleGroup.getRuleSystemLookup;

  • Also, I have identified a problem and fixed it for v.8.0.2. For a workaround please add the following code block to the LookupModal.cshtml (under Pages/Shared folders):
<div id="NavigationPropertyLookupTableModal">
    <abp-modal size="Large">
        <abp-modal-header title="@(L["Pick"].Value)"></abp-modal-header>
        <input hidden id="CurrentLookupId" value="@Model.CurrentId" />
        <input hidden id="CurrentLookupDisplayName" value="@Model.CurrentDisplayName" />
        <abp-modal-body>
            <abp-table striped-rows="true" id="LookupTable">
            </abp-table>
        </abp-modal-body>
        <div class="modal-footer">
            <button id="CancelButton" type="button" class="btn btn-secondary" data-bs-dismiss="modal">@L["Cancel"]</button>
        </div>
    </abp-modal>
</div>
Showing 181 to 190 of 730 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 18, 2024, 05:54