Represents the NuGet versions.
- Fixed: Code generation where using
CosmosValueContainer
has been corrected.
- Fixed: Cosmos reference data queries were only returning the first 25 rows which has been corrected.
- Fixed: Remove redundant
async
-await
where returningTask
will suffice withinEntityManager_cs.hbs
. - Fixed: Updated the
EntityData_cs.hbs
to useusing Mac = Microsoft.Azure.Cosmos
to avoid class name clashing.
- Fixed: Updated target frameworks to be
netcoreapp3.1;net6.0
.
- Enhancement: New
Operation.WebApiConcurrency
(orEntity.WebApiConcurrency
) indicates whether the Web API is responsible for managing concurrency via auto-generated ETag (with correspondingOperation.WebApiGetOperation
and/orEntity.WebApiGetOperation
). - Enhancement: The existing
Operation.PatchGetOperation
has been renamed toOperation.WebApiGetOperation
andOperation.PatchUpdateOperation
has been renamed toOperation.WebApiUpdateOperation
for consistency and reuse. The tool will error (and advise remediation) at runtime where existing value(s) are being used and they will need to be corrected to continue.
- Enhancement: Core code-generation capabilities moved into new OnRamp and referenced.
- Enhancement: Database schema inference moved into new DbEx and referenced.
- Enhancement: All code-gen
Script
files converted to YAML; the embedded resources have all been updated and renamed with the.yaml
file extension accordingly. - Enhancement:
CodeGenConsoleWrapper
has been removed; useCodeGenConsole
(breaking change). - Enhancement: All CDC-related capabilities have been removed; use new nTangle.
- Enhancement: Command-line options have been adjusted and may result in breaking change; they are as follows:
Beef.CodeGen.Core Code Generator tool.
Usage: Beef.CodeGen.Core [options]
Options:
-?|-h|--help Show help information.
-s|--script Script orchestration file/resource name.
-c|--config Configuration data file name.
-o|--output Output directory path.
-a|--assembly Assembly containing embedded resources (multiple can be specified in probing order).
-p|--param Parameter expressed as a 'Name=Value' pair (multiple can be specified).
-cs|--connection-string Database connection string.
-cv|--connection-varname Database connection string environment variable name.
-enc|--expect-no-changes Indicates to expect _no_ changes in the artefact output (e.g. error within build pipeline).
-sim|--simulation Indicates whether the code-generation is a simulation (i.e. does not create/update any artefacts).
- Enhancement: Updated the
EntityData
template to include the newHttpAgent
data source functionality. - Enhancement: Added
CodeGeneration.WebApiRoutePrefix
which will prefix all underlyingEntity
andOperation
routes.
- Fixed: Issue 161 fixed. Added support for SQL data types
TEXT
andNTEXT
as .NETstring
when querying database characteristics for code-gen purposes. - Fixed: A SQL
DateTimeOffset
type will no longer incorrectly identify as aDateTime
using theDbColumn.TypeIsDateTime
. It will correctly map to the .NETDateTimeOffset
.
- Enhancement: The following
PropertyConfig
properties have been renamed:EntityFrameworkIgnore
toEntityFrameworkMapper
,CosmosIgnore
toCosmosMapper
, andODataIgnore
toODataMapper
. The underlying type is no longerbool
, and they each support the values:Map
(default),Ignore
andSkip
. This is a breaking code-generation change and will need to be explicitly updated by the developer.
- Fixed: Issue 157 fixed. Added new
Property.DatabaseDbType
attribute to override theDbType
for use within theDatabaseMapper
.
- Fixed: Issue 152 fixed. Code-gen for an API Controller when more than two parameters was invalid; this has been corrected.
- Enhancement: Add support for using AutoMapper for the entity-to-entity based mapping (except the database stored procedure mapping which will remain as-is). This has the advantage of broad industry support, and based on initial performance testing offers around a ~90% mapping performance improvement (after first execution).
- The
EntityData_cs
template has been updated to supportAutoMapper
. - The
ReferenceDataData_cs
template has been updated to supportAutoMapper
. - The gRPC-related templates have been updated to support
AutoMapper
.
- The
- Enhancement: The
Entity.ExcludeAll
configuration will automatically default totrue
where an entity does not have at least oneOperation
specified. - Enhancement: The
EntityWebApiController_cs
,EntityManager_cs
,EntityDataSvc_cs
andEntityData_cs
handlebars templates have been updated to further simplify the code generated. - Enhancement: Added the
Beef.Codegen.Core
version number to the code-gen console output.
- Fixed: The
ServiceCollectionExtensions
were not being generated correctly for theManager
andDataSvc
layers.
- Fixed: There was a YAML configuration issue using
Yes
andNo
for option strings, as these are reserved forboolean
values. All properties that previously supported bothYes
andNo
are now booleans. The one exception isEntity.ExcludeData
which has options:Include
(default),Exclude
andRequiresMapper
. These are all automatically translated from their respective existing XML values. - Fixed: The JSON Schemas have been updated to leverage
definitions
for defining each object type; this fixes the issue where only the first item in an array was validating correctly (and supporting corresponding intellisense).
- Fixed: Issue 143 fixed. Where referencing a reference data property within a reference data class and there is a need to perform a data conversion an
InvalidCastException
(Object must implement IConvertible.
) was being thrown. Generated code has been corrected.
- Fixed: Issue 141 fixed. Exclude
using company.appName.DataSvc
statement output where all operations are custom.
- Enhancement: Re-baseline all Beef components to version v4.2.1 required by
Beef.Abstractions
introduction; including updating all dependent NuGet packages to their latest respective version. - Enhancement: A code-generation change was required to the Reference Data Web API Controller template as a result of the changes to the
ReferenceDataFilter
and newReferenceDataFilterer
for theBeef.Abstractions
change.
- Fixed: A Web API agent reference data parameter should use the underlying
RefDataType
not the reference dataType
itself as the operation parameter (decouple reference data types from Agent contracts).
- Enhancement: Added
DateTimeOffset
to the list of supported system and nullable types. - Enhancement: Added shorthand for a
Property.Type
where the^
is the equivalent toRefDataNamespace.
; e.g.RefDataNamespace.Gender
can be replaced by^Gender
. The XML to YAML conversion will replace with the shorthand where previously specified. - Enhancement: Added
OrgUnitImmutable
option for database. This will result in stored procedure code that will throw anAuthorizationException
where the org unit is being changed from original value (where original is not null).
- Enhancement: Added support for Database Event Outbox via new configuration and templates.
- Enhancement: The
EventPublish
property changed frombool
to string (values areNone
,DataSvc
andDataOutbox
. - Enhancement: A new
CodeGeneration.EntityScope
andEntity.EntityScope
has been added, this determines where and how the entities are generated. Defaults to existing behaviour ofCommon
; being theEntityBase
-inherited entities are defined in theCommon
project only. The new recommended approach is to set toAutonomous
; will create the existingEntityBase
-inherited entities within theBusiness
project, and lightweight entities (noEntityBase
or rich reference data) withinCommon
- in this case theBusiness
andApi
projects do not require a reference toCommon
- their usage is autonomous. This has the advantage of decoupling the internals from external consumption. - Enhancement: A new
Property.InternalOnly
option enables a property to be specified for internal use only, being generated witthin theBusiness
, but notCommon
, entities. Applicable only whereEntity.EntityScope
isAutonomous
. - Enhancement: The code-generation for an EF model is now logically delete (
IsDeleted
column) aware; this will ensure that any logically deleted data is appropriately filtered. - Enhancement: The code-generation for an EF model is now logically delete (
TenantId
column) aware; this will ensure that theTenantId
is appropriately filtered. - Enhancement: Add support for
ReferenceDataBaseString
code-generation. - Enhancement: Updated project to produce symbol packages for improved debugging.
- Fixed: The
CdcJoinConfig.Schema
was defaulting todbo
versusCodeGenConfig.Schema
as was intended. - Fixed: The
CdcConfig
specialRowVersion
treatment was removed as it was unnecessary and meant column could not be explicitly excluded. - Enhancement: Added
CorrelationId
support within CDC.
- Enhancement: Added support for YAML files with a
.yml
suffix. - Enhancement: Added support for
EventData.Source
to both entity and database (CDC) code-gen. - Enhancement: Added
Operation.ManagerExtensions
,Operation.DataSvcExtensions
andOperation.DataExtensions
to further control extensions code-gen output versus all for theEntity
. - Enhancement: Added
CdcBackgroundServiceExtensions
to CDC code-gen. - Enhancement: An entity instance with the key will be instantiated for a
Delete
event within theXxxDataSvc
to include as the event value. - Fixed: Code-gen for
ServiceCollectionsValidationExtension
was generating errant code when there are no validators. - Enhancement: Will strip out
bin/debug
andbin/release
folders from default directory path to find the output directory; meaning the path does not need to be explicity set when running/debugging from Visual Studio. - Fixed: Issue 124 fixed. Corrected XML to YAML code-gen to handle values that start with
[
and end with]
characters; including where used to represent arrays.
- Enhancement: Added standardized identifier mapping for change-data-capture (CDC) from local (internal) to global (external) where required.
- Enhancement: Added additional statistics information to console output.
- Enhancement: Added
EventSubjectFormat
to define how the code-generated subject should be formatted.
- Enhancement: Issue 116. Add capability to set the HTTP
Location
Header value.
- Enhancement: Added
CdcConfig.IncludeColumnsOnDelete
to enable a list ofColumn
names to be specified that should be included (in addition to the primary key) for a logical delete. Otherwise, the .NET property values will be cleared within theCdcDataOrchestrator
as the data is technically non-existing. - Enhancement: Added
ExcludeBackgroundService
to exclude the generation of theXxxBackgroundService.cs
class.
- Enhancement: Updated all dependent NuGet packages to their latest respective version.
- Enhancement: Add
Property.PartitionKey
to select one or more properties to be included as theIPartitionKey.PartitionKey
for a generated entity. - Enhancement: Added new
Config.ETagJsonName
to specify the default for all entities to override where required. Defaults toetag
; this will need to be set where using the existingeTag
value.
- Fixed: Issue 108 fixed. Invalid code-gen where a table contains a primary key that is not considered identity (being self-generating) has been corrected. Will also only output
RowVersion
logic where the column has been specified.
- Fixed: Issue 105 fixed. Incorrect capitalization of boolean when using
IsInitialOverride
has been corrected.
- Fixed: Issue 102 fixed. The
AutoInferImplements
andimplementsAutoInfer
internal XML->YAML translation was incorrect resulting in incorrect code-gen when set tofalse
. - Fixed: The code generation XML Schemas have had the
targetNamespace
attribute removed as this was serving no real purpose; and was resulting in errors depending on the validator used. Please removexmlns="http://schemas.beef.com/codegen/2015/01/entity"
orxmlns="http://schemas.beef.com/codegen/2015/01/database"
from the code generation XML configuration files for the schema validation and intellisense to function correctly.
- Fixed: Issue 100 fixed. Corrected CDC codegen to no longer output errant code where there is a single left outer join specified.
- Fixed: The XML schema was being generated with the incorrect
targetNamespace
which has been corrected. Schema order has been corrected to allow any. MissingList<string>
properties are now included. - Fixed: The
CdcTracking
tableId
column changed fromINT
toUNIQUEIDENTIFIER
as the preferred identifier data type.
- Enhancement: The last stage of the custom code-gen capability retirement; now completely replaced by
Handlebars.Net
as the code-generation engine. The database related code-generation has been ported. The existing engine has been deprecated (removed). - Enhancement: The Entity and Database related XML schemas are now generated from the internal configuration model; these have been re-gen'd.
- Enhancement: New
database.beef.json
andentity.beef.json
JSON schemas are now also generated from the internal configuration model to support alternate JSON and YAML configurations - to be introduced in a later release. These will be added to the JSON Schema Store to enable editor support (validation and intellisense) prior to introduction proper. - Enhancement: To simplify testing of Agents with the recent introduction of dependency injection (DI) a new code-gen global setting
AppBasedAgentArgs="true"
has been added. This will result in a new{{Company}}.{{AppName}}.Common.Agents.I{{AppName}}WebApiAgentArgs
and{{Company}}.{{AppName}}.Common.Agents.{{AppName}}WebApiAgentArgs
classes created; all Agents will then use this for the constructor versus the defaultIWebApiAgentArgs
. These new generated artefacts can then be addressed directly to simplify DI for both general usage and testing. - Fixed: A return type of
string
will always be treated as nullable. This is because theCleaner.Clean
(based on settings) could override the return value withnull
. - Enhancement: The code-gen
Scripts
XML files support a newInherits
attribute to enable references to one or more otherScripts
files. This allows referencing to remove the need to duplicate setting across multiple files. - Enhancement: The code-gen has been updated to enable personalization of code-generation; to either override an existing template or execute entirely new templates; including the ability to access additive configuration.
- Enhancement: Added new configuration and templates to support Microsoft SQL Server Change Data Capture (CDC) capability. Additionally,
Beef.Data.Database.Cdc
has been added to support; this documentation also describes its usage. - Enhancment: To simplify the addition of additional constructor parameters for DI the following
Entity
configuration can be specifiedDataCtorParams
,DataSvcCtorParams
,ManagerCtorParams
andWebApiCtorParams
. This is a comma seperated list of additional (non-inferred) Dependency Injection (DI) parameters for the generated constructor. Each constructor parameter should be formatted asType
+^
+Name
; e.g.IConfiguration^Config
. Where theName
portion is not specified it will be inferred. "here theType
matches an already inferred value it will be ignored. - Enhancement: Added new
Property.IdentifierGenerator
to specify theType
(via dependency injection) to generate the identifier value onCreate
(withinXxxManager
). - Enhancement: Added new
CodeGeneration.EventTransaction
andEntity.EventTransaction
as a shorthand to set theOperation.DataSvcTransaction
whereever an event is being published; this will rollback any updates where the event publish fails (only functional where the data source supportsSystem.TransactionScope
). - Enhancement: Code-gen for all c# code will simply use
#pragma warning disable
with no list (disables all) versus specifiying list; minimizes need to keep updated as more warnings are potentially added.
- Fixed: Issue 93 fixed. The
XxxServiceCollectionExtensions.cs
classes were errantly being generated where there are no corresponding operations that would require.
- Fixed: Issue 91 fixed.
WebApiAuthorize
attribute code-gen output reverted back to pre-Handlebars behaviour. Controller-level will only output where specified; will no longer default toAllowAnonymous
. Method-level will only output where specified; will no longer default to parent (entity) value.
- Fixed: Issue 89 fixed. Event publish code was being incorrectly generated where the subject was being overridden; was missing the corresponding inferred
Action
.
- Fixed: Issue 87 fixed. Event publish code was being incorrectly generated where
EventPublish="false"
.
- Fixed: Issue 85 fixed. Additional challenge identified with HTML encoding for generated code output. The
TextEncoding
for Handlebars is now set tonull
so no encoding should now occur. This will fix this particular issue and others that have not been explicitly formatted using{{{xxx}}}
.
- Fixed: Issue 80 fixed. Was generating incomplete
GetHashCode()
where no properties specified. - Fixed: Issue 81 fixed. Was generating incorrect (non-compiling) code where
DataSvcCaching="false"
.
- Fixed: Issue 79 fixed. Integrated suggested Pull Request 78 with minor rollback of default logic. Removed the HTML escaping for the generated C# generic types.
- Fixed: Issue 74 also resolved for Reference Data code-generation.
- Fixed: Issue 74 fixed. There was an additional issue where the value was set to
false
it in turn resulted inAuthorize
versusAllowAnonymous
which has been corrected.
- Fixed: Issue 74 fixed.
WebApiAuthorize
attribute was honouring previous override sideeffect. Changed attribute configuration from abool
to astring
. Code-gen will output the supplied value as-is. XML boolean values are automatically converted. Note: the XML Schema and corresponding documentation have not been updated; this will occur during a future release.
- Enhancement: The first stage of the custom code-gen capability retirement; to be replaced by
Handlebars.Net
as the code-generation engine. All the entity and reference date related code-generation templates (and related) have been ported. The database related code-generation is still using the legacy custom. - Enhancement: The
CodeGen
namespace fromBeef.Core
has been moved relocated. A newStringConversion
now provides access to the existing string conversion functions (e.g.ToSentenceCase
). - Fixed: Issue 71 has been resolved. A runtime error will now correctly result in a return code of
-1
.
- Enhancement: Introduction of Dependency Injection support.
- Fixed: Issue 66 fixed. Changed the path separator to be
/
so that is compatible on Windows and Linux. By using/
this matches thePath.AltDirectorySeparatorChar
(https://docs.microsoft.com/en-us/dotnet/api/system.io.path.altdirectoryseparatorchar) for Windows andPath.DirectorySeparatorChar
(https://docs.microsoft.com/en-us/dotnet/api/system.io.path.directoryseparatorchar) for Linux, making it universally compatible.
- Enhancment: Request 62 applied. Generate a non-zero exit code when detecting updated files if none are expected. E.g. if executing the code generation as part of build pipeline.
- Fixed: Issue 63 fixed. The
OperationType="Get"
with no arguments will no longer result in errant code (non-compiling) being generated.
- Fixed: Issue 57 fixed. The redundant
?? null
for the property set on an entity with a reference data collection has been removed. - Fixed: Tidied up the entity code-gen for the
Equals
method.
- Enhancement: Generate a new
ModelBuilderExtensions.AddGeneratedModels
to simplify the adding of the generated models to theModelBuilder
(Entity Framework).
- Fixed: Code-gen templates updated to correct additional warnings identified by FxCop. Where no direct fix, or by intention, these have been explicitly ignored.
- Fixed: Code-gen templates updated to correct warnings identified by FxCop. Where no direct fix, or by intention, these have been explicitly ignored.
- Enhancement:
PropertyConfigLoader
updated to default theDateTimeTransform
,StringTransform
andStringTrim
enum selections to the newUseDefault
value.
- Enhancement: Added
Config.EventSubjectRoot
attribute used by theDataSvc
code generation that provides the root for the event name by prepending to all event subject names.
- Enhancement: The
DataSvc
code generation updated to use the newEvent
methods as existing have been obsoleted. - Enhancement: Added
Property.WebApiQueryStringConverter
attribute to enableType
tostring
conversion for writing to and parsing from the query string. - Enhancement: Shortcut added where the
Type
attribute for theProperty
element starts withRefDataNamespace.
(e.g.Type="RefDataNamespace.Gender"
) and the correspondingRefDataType
attribute is not specified it will default tostring
. - Enhancement: Shortcut added where the
DataConverter
attribute for theProperty
element ends with{T}
(e.g.DataConverter="ReferenceDataNullableGuidIdConverter{T}"
) and the correspondingIsDataConverterGeneric
attribute is not specified the{T}
will be removed and theIsDataConverterGeneric
will default totrue
. - Enhancement: Added
Operation.AuthRole
andEntity.AuthRole
attributes to enableExecutionContext.IsInRole(role)
checking.
- Fixed: Fix to include the
Beef
namespace for theReferenceDataProvider.PrefetchAsync
capability.
- Fixed: Fix for
ReferenceDataProvider.PrefetchAsync
to leverage the newExecutionContext.FlowSuppression
.
- Fixed: Fix for
EntityData
code generation;DataName
was not always being output where usingDatabase
. - Enhancement: Added
Config.EventActionFormat
to control the formatting of the event action text.
- Fixed: Fix for
EntityDataSvc
code generation; internal caching was being accidently skipped for custom operation types.
- Enhancement: Added code-generation templates and configuration for gRPC support.
- Fixed: A null reference would occur where using a custom operation type and the resulting value is
null
. Code generation has been amended to support nullable return types (e.g.Person?
) to allow.
- Enhanced: Added
IEquatable<T>
implementation to the entity code generation. Enables support for full property, sub entity and collection equalityEquals
checking andGetHashCode
calculation.
- Enhancement: Code generation enhanced to support new approach to OData.
- Enhancement: New
Entity.JsonSerializer
attribute added to control the entity/property serializer used. Currently supportsNone
orNewtonsoft
.
- Fixed:
ReferenceDataData
code generation for Cosmos DB was generating invalid code where the entity had addtional properties which has been corrected. - Fixed:
ReferenceDataServiceAgent
andReferenceDataAgent
code generation where aRefDataNamespace
is defined. - Enhancement: Updated all dependent NuGet packages to their latest respective version.
- Upgrade: Upgraded the project to .NET Standard 2.1 (compatible with .NET Core 3.1).
- Enhancement: Tool updated to execute asynchoronously. Both
CodeGenConsole
andCodeGenConsoleWrapper
have breaking change;Run
has been removed, replaced withRunAsync
. - Enhancement: The templates where database access is performed have been updated to leverage the new asynchronous methods. All previous synchronous access has been removed.
- Enhancement: All C# templates (e.g.
Entity_cs.xml
) have been updated to support nullable reference types (https://devblogs.microsoft.com/dotnet/embracing-nullable-reference-types/). - Enhancement: The entity code-generation (
Entity_cs.xml
) will output all reference types as nullable unless overridden explicitly for aProperty
element usingNullable="true|false"
.
- Fixed: Code-gen of corresponding reference data text (
xxxText
) was being incorrectly output where the property supported multiple values (RefDataList="true"
).
- Fixed: Code-gen of the data access for
Cosmos
will default theCosmosEntity
attribute where not specified. - Fixed: Code-gen for a custom
DataSvc
was incorrectly outputting anOnAfterAsync
method invocation; see Avanade#15.
- Enhancement: Sprinkled
Task.ConfigureAwait(false)
as per https://devblogs.microsoft.com/dotnet/configureawait-faq/. Templates also updated to ensure code-generated output complies.
- Fixed:
ISNULL
forIsDeleted
in OrgUnit permission check for Get and Update stored procedures.
- Fixed: Reference Data Controller code-gen now uses
StringComparison.InvariantCultureIgnoreCase
for the string comparison. - Fixed: Entity Framework model code-gen uses property expressions versus property names as strings.
- Fixed: Introduced FxCop Analysis to
Beef.CodeGen.Core
; this version represents the remediation based on the results.
- Fixed: Manager code-gen output fixed where
OperationType="GetColl"
andManagerCustom="true"
; a comma is now placed between the parameters correctly.
- Fixed: Entity code-gen updated to override AcceptChanges and TrackChanges to support change tracking through the entity object graph. There are required changes within
Beef.Core
to enable.
- Added: Code-gen of the data access for
Cosmos
adds a new method_onDataArgsCreate
that is invoked each time aCosmosDbArgs
is created.
- Added: Code-gen attribute
RefDataText=true|false
has been added toConfig
,Entity
andProperty
elements. Where set to true for a reference data value a corresponding propertyxxxText
will be created. This will only be populated during serialization whenExecutionContext.IsRefDataTextSerializationEnabled
is set totrue
. - Fixed: Optimised the reference data
Controller
code-gen including correspondingETag
value.
- Fixed: Incorrect end-point generated for Reference Data Service Agent.
- Fixed: Consolidated the
/ref
and/ref/codes
endpoints into/ref
. Supports list of names as per previous, as well as the new specified entity+code, within the query string.
- Added: Reference data updated to support multiple runtime providers, versus the previous single only. A new
IReferenceDataProvider
enables a provider to be created. The underlying code-gen templates have been updated to enable. - Fixed: Code-gen for the database where
IsDeleted
is used will performISNULL(IsDeleted, 0) = 0
to check for null or zero as not-deleted.
- Fixed: Optimisations made to the entity code generation for reference data so that internal operations use the property serialization identifier (SID); otherwise, was resulting in unecessary reference data loads.
- Fixed: Database merge statements updated to include
AND EXISTS (...)
for aWHEN MATCHED
to avoid updates where column data has not changed.
- Fixed: Code-gen
Entity.DataCosmosMapperInheritsFrom
not generating correctly.
- Fixed: Code-gen
Entity.DataCosmosValueContainer
not generating correctly. Added support forOperation.DataCosmosValueContainer
to override. - Fixed: Code-gen for the private
Data
variables are nowreadonly
as they are only intended for update within the constructor. Will remove corresponding compiler warnings.
- Fixed: Code-gen of
Entity.cs
outputs incorrectusing
statement whenEntityScope="Business"
is used.
- Added: New
DataModel
code generation support has been added to enable the specification and generation of back-end only data model entities.
- Fixed: The
Entity.DatabaseName
,Entity.EntityFrameworkName
,Entity.CosmosName
are now being honoured when generating for reference data. - Enhancement: A new
Entity.OmitEntityBase
attribute is now supported in the code-generation to omit the output of theEntityBase
inherited capabilities.
- Enhancment: Cosmos code-generation enhancements to support changes to
CosmosDb
implementation.
- Enhancment: Additional code-generation enhancements to support the auto-implements of Cosmos DB data access.
- Enhancement: An invocation with an
If-Match
will override the value where it implementsIEtag
as this should take precedence over the value inside of the value itself viaWebApiActionBase.Value
. Code-gen has updated to take advantage of this; next gen will introduce usage withinXxxApiController
classes.
- Enhancement:
ReferenceDataData_cs.xml
template updated to supportAutoImplement="EntityFramework"
to simplify the loading of reference data items where using Entity Framework.
- Enhancement: Added
WithHints
to stored procedure configuration to outputWITH(value)
table hint. - Enhancement: Added support to generate data logic access using Cosmos DB. This follows the same pattern as Database, OData and EntityFramework.
- Fixed:
IEntityData
code-gen did not correctly output the value type. - Enhancement: Added code-gen support for snake_case and kebab-case.
- Fixed:
InvokerBase
was non functioning as a generic class; reimplemented. Invoker invocation code generation updated accordingly.
- Fixed: FromBody not applied to
ServiceAgent
code generation.
- Fixed:
CodeGenConsoleWrapper
was supporting database generation by default.
- Fixed: Inconsistent version numbers.
- New: Initial publish to GitHub.