Activities of "EngincanV"

Hi, EngincanV
I created new Entity [Promotion] in [DemoSolution] and NOT in [FirstModule]. Issus is during adding new Entity to [DemoSolution].

Hi, since you mentioned that you selected FirstModule to generate CRUD pages (in this thread), I have tried on that solution.

Now, I have tried on DemoSolution and still not able to reproduce:

Used the entity name as PromotionOnDemoSln but it does not matter.


I have followed your steps but unable to produce the problem. (Check the thread and your steps provided).

So, please try to create in a fresh solution and share the exact steps with me, so I can reproduce the problem.

Regards.

Hi, EngincanV
So I need some example how to build db migration file for entities inside Modules.
May you show some example code here. For Example I want to add new entity [Product] with properties [Title], [Price]. So I migration files will be look like?

Hi, in the modular monolith approach, we suggest to create migrations in the host application's ef core project. But, if you still want to create a migration in the modules, then you can create a DbContextFactory class that implements IDesignTimeDbContextFactory<OrderingServiceDbContext> (like in the main application, you can check its implementation) and then basically execute the dotnet ef migrations add MigrationName in your module to create migrations.

Hi, do you have a class which inherits the SampleAppService_Tests? It's needed otherwise the required services could not be obtained by di containers.

For example, you should have a method like follows, in your tests:

public class EfCoreSampleAppService_Tests : SampleAppService_Tests<MyProjectNameEntityFrameworkCoreTestModule>
{

}

Hi,

What is the recommended way of returning a file response like this with the Content-Disposition set to "inline"?

You can create a custom controller as you said (override the default appservice to httpapi controller) and set the response header, for example:


public class MyAppServiceController : AbpControllerBase, IMyAppService
{
    [HttpGet("data/{reportId}")]
    public virtual async Task<IRemoteStreamContent> GetReportAsync(Guid reportId)
    {
        Response.Headers.Add("Content-Disposition", "inline");
        
        return new RemoteStreamContent(stream, "Report.pdf", MimeTypes.Application.Pdf);
    }
}

You just need to add a line like above (Response.Headers.Add("Content-Disposition", "inline");). You can create your controllers in the httpapi project. This is a common practise that we also follow and use some of our modules.

Regards.

Hi, can you override the HandlePropertiesBeforeSave in your dbcontext class as below and try it, please?

    protected override void HandlePropertiesBeforeSave()
    {
        var entries = ChangeTracker.Entries().ToList();
        foreach (var entry in entries)
        {
            HandleExtraPropertiesOnSave(entry);

            if (entry.State.IsIn(EntityState.Modified, EntityState.Deleted))
            {
                UpdateConcurrencyStamp(entry);
            }
        }

        foreach (var entry in AbpEfCoreNavigationHelper.GetChangedEntityEntries().Where(x => x.State == EntityState.Unchanged))
        {
            UpdateConcurrencyStamp(entry);
        }
    }

Please let me know if it fixes your problem or not.

Answer

Hi, to use the pro features and modules, your development environment needs to be associated with a valid commercial license.

Therefore, if you are not logged in with an account that has a commercial license or the necessary permissions, you will likely not be able to run or utilize the commercial features and Pro modules of the ABP Framework.

Should every developer log into my current account

No, every developer should not log into your account. ABP's commercial licenses are typically issued per developer seat. You can see your organization details at https://abp.io/my-organizations (and add developers to the developer seats to allow them to make development on pro templates and also add additional developers if you need)

Having each developer log in with their own account ensures proper license management and allows each developer to have their own development environment configured correctly.


To summarize, the process involves adding developers to your organization on https://abp.io/my-organizations and then having them log in through the ABP CLI for efficient application building, maintenance, and release.

Let me know, if you have further questions. Regards.

Hi, here are the brief answers to your questions:

Q1: Is it possible to have a centralized identity management with AbpAccountPro module?

Yes, it is absolutely possible to achieve a centralized identity management system using the AbpAccountPro module.

Q2: If it is possible, we assume that the user and role tables will exist only in the central application, and the client applications will not need these tables. Is that correct?

Yes, this is correct. In this setup, the AbpUsers and AbpRoles tables (and other related tables) will primarily reside in the database of your central identity management application. The client applications will not need these tables.

Q3: Integration options with External Authentication Providers (Keycloak/Azure MFA)?

Yes, it is definitely possible to integrate with external authentication providers like Keycloak or Azure MFA. Here are some resources that may help you:

  • https://abp.io/community/articles/how-to-use-the-azure-active-directory-authentication-for-mvc-razor-page-applications-4603b9cf
  • https://github.com/abpframework/eShopOnAbp/pull/134
  • https://github.com/gterdem/keycloak

Q4: When the login screen is opened, can we directly redirect to the Keycloak (external provider) login screen? We don’t want users to have to click a "Login with Keycloak" button again when the login page opens.

You can directly redirect users to Keycloak (or any other external provider). You need to create a "realm" in the Keycloak dashboard, get the related URL and update the Authority section in appsetting.json file for example. (should configure oidc scheme like you would do in a normal .net application - there is no difference -).

Regards.

Hi again, I have checked but unfortunately could not reproduce the problem:

Hi, EngincanV All steps are described in https://abp.io/support/questions/9011/No-db-migrations-for-Entities-in-Modules because this different kind of issue I created separate ticket. Yes, I created new Entity [Promotion] in [DemoSolution] and click "Save and generate":

Hi, thanks for sharing the steps. I'll check and let you know asap. Regards.

Hi, EngincanV But I am talking about DB migrations. Suite knows Entity and all relations within one module (and there are no cross-module entities relations). So why it can not generate db migrations? Is it plans for such in future?
We are building solution to separate some business logic in different modules, so a lot of new Entities are planned inside Modules, and to build always manually it would be a lot of operational risks.

Hi @Viktor, I understand your concerns. There was not any open issue about that but I've created just before (with issue number #19581 / in our internal repository). So, we will try to prioritize it and support in the future.

Thanks for your understanding, regards.

Showing 361 to 370 of 1371 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on November 04, 2025, 06:41