Search Results for

    Show / Hide Table of Contents

    What's new in Intent Architect (May 2023)

    Welcome to the May 2023 edition of highlights of What's New in Intent Architect.

    • Product updates

      • Intent Architect 4.0.0 is live
    • Module updates (C#)

      • IReadOnlyCollection support for "private setter" Domain Entities - Make entity collections immutable except from within the same class.
      • Stored Procedure support for EF Core - It's now possible to have methods generated on repositories for using stored procedures.
      • Designer comments as XML documentation comments - Service and Domain designer element comments are being included in relevant XML document comments.
      • Parameter default value support for Domain and Service Designers - It is now possible to specify default values for Parameters that are found on Service operations, Domain Class operations (and constructors) and Domain Service operations.
      • GraphQL module for C#(using HotChocolate) - GraphQL support for your applications, all.
      • Support for DTO return types on CRUD operations - the ability to return mapped DTOs on generated CRUD operations.
      • Better Association visualization in Domain Designer tree view - Domain Designer now visualizes cardinality in the tree view.
    • Pre-released Module updates (C#)

      • async and CancellationToken support in more places - Domain operations, domain services and normal services now now support async and CancellationTokens.
      • OpenAPI support for Azure Functions - Provides OpenAPI support for Azure Functions applications.
      • GraphQL support for Azure Functions - Provides GraphQL support for Azure Functions applications, through Hot Chocolate.
      • Support for EF Core 7 JSON Columns - It is now possible to leverage JSON Columns support which was introduced in Entity Framework Core 7.
      • Azure Key Vault support added for ASP.NET Core - Secrets that are stored in Azure Key Vault can now be queried from the IConfiguration service inside your app.

    Product updates

    Intent Architect 4.0.0 is live

    Intent Architect v4 is now live and available for download. V4 introduces tabs, a solution explorer and many other improvements, click here for the full release notes.

    Module updates (C#)

    IReadOnlyCollection support for "private setter" Domain Entities

    It was already possible to enable Private Setters for domain entities, but collection properties were previously exposed as mutable ICollection<T>s. Now enabling Private Setters will change ICollection<T> properties to instead be IReadOnlyCollection<T> properties with a backing private field of type List<T>.

    This is to help developers adhere to the DDD principle that mutation of properties of domain entities should be impossible except through methods on the entity which ensures that business rules and consistency is maintained.

    (Final version expected to be released 2023-06-05, pre-release available today by checking "Include prerelease" in the Modules screen.)

    Available from:

    • Intent.Entities 4.3.0

    Stored Procedure support for EF Core

    It's now possible to have methods generated on repositories for using stored procedures:

    • Create a Repository in the Domain Designer (either in the package root or a folder).
    • You can optionally set the "type" of the repository to a Class which will extend the existing repository which is already generated for it, otherwise if no "type" is specified a new Repository is generated.
    • On a repository you can create Stored Procedures.
    • At this time, the module supports a Stored Procedure returning: nothing, an existing Class or a Data Contract (Domain Object).
    • The Software Factory will generate methods on the Repositories for calling the Stored Procedures.

    Available from:

    • Intent.EntityFrameworkCore.Repositories 4.2.2

    Designer comments as XML documentation comments

    Most designer elements support a comments field, if these comments are captured, these comments are included in the relevant generated code as XML document comments.

    Available from:

    • Intent.Application.Contracts 5.0.0
    • Intent.Application.Dtos 4.0.3
    • Intent.Application.MediatR 4.0.6
    • Intent.Application.ServiceImplementations 4.2.0
    • Intent.DomainEvents 4.0.4
    • Intent.DomainServices 1.1.0
    • Intent.Entities 4.3.0
    • Intent.EntityFrameworkCore.Interop.DomainEvents 4.0.3

    Parameter default value support for Domain and Service Designers

    It is now possible to specify default values for Parameters that are found on Service operations, Domain Class operations (and constructors) and Domain Service operations.

    Available from:

    • Intent.Application.ServiceImplementations 4.2.0
    • Intent.AspNetCore.Controllers 5.1.0
    • Intent.DomainServices 1.1.0
    • Intent.Entities 4.3.0

    GraphQL module for C#

    This module supports exposing a GraphQL interface into your application. This module brings designer support for exposing modelled services as GraphQL through the GraphQL Enabled stereotype, as well as a new GraphQL designer extensions for more advanced scenarios.
    This module is implemented using HotChocolate.

    Available from:

    • Intent.HotChocolate.GraphQL 4.0.0

    Support for DTO return types on CRUD operations

    The ability to return mapped DTOs on generated CRUD operations. For example, if you have a CreateCustomer Command or Service Operation it can not be modelled to return a CustomerDTO as opposed the current CRUD implementations which returned the primary key.

    Available from:

    • Intent.Application.MediatR.CRUD 5.0.2
    • Intent.Application.ServiceImplementations.Conventions.CRUD 4.2.3

    Better Association visualization in Domain Designer tree view

    The Domain Designer better visualized associations in the Treeview, showing information about cardinality. Associations are now visualized with syntax which will look like * --> 1

    Available from:

    • Intent.Modelers.Domain 3.4.1

    Pre-released Module updates (C#)

    Pre-released modules are typically stable, but are subject to breaking changes before final release. Typically we perform final releases approximately every two weeks provided no issues found with the pre-release.

    async and CancellationToken support in more places

    • Application services (as modelled in the Services designer) now have a CancellationToken cancellationToken = default parameter and which is also populated as an argument when dispatched to from controllers.
    • Appending Async to an operation on class or domain service will now also make the method asynchronous and have a CancellationToken cancellationToken = default parameter added.

    Available from:

    • Intent.Application.Contracts 5.0.1 (pre)
    • Intent.Application.ServiceImplementations 4.2.1 (pre)
    • Intent.AspNetCore.Controllers.Dispatch.ServiceContract 5.1.1 (pre)
    • Intent.Entities 4.3.1 (pre)

    OpenAPI support for Azure Functions

    This module brings in OpenAPI support for your Azure Function application.

    Available from:

    • Intent.AzureFunction.OpenApi 1.0.0 (pre)

    GraphQL support for Azure Functions

    This module brings in GraphQL support for your Azure Function application, allowing you to expose your Azure Functions through a GraphQL api. This module uses Hot Chocolate as it's GraphQL engine.

    • In the Service designer simply apply the GraphQL Enabled stereotype to the Service Operations you wish to expose through GraphQL

    Available from:

    • Intent.HotChocolate.GraphQL.AzureFunctions 1.0.0 (pre)

    Support for EF Core 7 JSON Columns

    It is now possible to leverage JSON Columns support which was introduced in Entity Framework Core 7. Adding a Serialization Settings stereotype on Value Objects in the Domain designer will cause Value Objects and their associated entities to be stored in a JSON serialized format in a single database column.

    Available from:

    • Intent.EntityFrameworkCore 4.4.0 (pre)
    • Intent.ValueObjects 4.1.0 (pre)

    Azure Key Vault support added for ASP.NET Core

    Secrets that are stored in Azure Key Vault can now be queried from the IConfiguration service inside your app. It is also configurable so that secrets may only be accessed from particular environments, using specified credentials or automated discovery.

    Available from:

    • Intent.Azure.KeyVault 1.0.0 (pre)
    • Intent.AspNetCore 5.0.0 (pre)
    • Edit this page
    ☀
    ☾
    In this article
    Back to top Copyright © 2017-, Intent Software Pte Ltd.