diff --git a/CHANGELOG.md b/CHANGELOG.md index ec6c29660..f32d52f0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ Represents the **NuGet** versions. +## v5.7.2 +- *Fixed:* The `Entity.HttpAgentCustomMapper` property has been added to the schema for correctly include within code-generation. +- *Fixed:* Upgraded `CoreEx` (`v3.7.0`) to include all related fixes and improvements. + ## v5.7.1 - *Fixed:* All related package dependencies updated to latest. diff --git a/Common.targets b/Common.targets index e86965bb8..20f3c1d46 100644 --- a/Common.targets +++ b/Common.targets @@ -1,6 +1,6 @@ - 5.7.1 + 5.7.2 preview Avanade Avanade diff --git a/docs/Entity-Entity-Config.md b/docs/Entity-Entity-Config.md index 67165d7cf..c77d18301 100644 --- a/docs/Entity-Entity-Config.md +++ b/docs/Entity-Entity-Config.md @@ -255,6 +255,7 @@ Property | Description **`odataModel`** | The corresponding OData model name (required where `AutoImplement` is `OData`). **`odataCollectionName`** | The name of the underlying OData collection where `AutoImplement` is `OData`.
† The underlying `Simple.OData.Client` will attempt to infer. `odataCustomMapper` | Indicates that a custom OData `Mapper` will be used; i.e. not generated.
† Otherwise, by default, a `Mapper` will be generated. +`httpAgentCustomMapper` | Indicates that a custom HTTP Agent `Mapper` will be used; i.e. not generated.
† Otherwise, by default, a `Mapper` will be generated.
diff --git a/samples/Cdr.Banking/Cdr.Banking.Api/Cdr.Banking.Api.csproj b/samples/Cdr.Banking/Cdr.Banking.Api/Cdr.Banking.Api.csproj index a95a61624..acc4195c6 100644 --- a/samples/Cdr.Banking/Cdr.Banking.Api/Cdr.Banking.Api.csproj +++ b/samples/Cdr.Banking/Cdr.Banking.Api/Cdr.Banking.Api.csproj @@ -5,7 +5,7 @@ true
- + diff --git a/samples/Cdr.Banking/Cdr.Banking.Business/Cdr.Banking.Business.csproj b/samples/Cdr.Banking/Cdr.Banking.Business/Cdr.Banking.Business.csproj index 42bda2efa..019d47937 100644 --- a/samples/Cdr.Banking/Cdr.Banking.Business/Cdr.Banking.Business.csproj +++ b/samples/Cdr.Banking/Cdr.Banking.Business/Cdr.Banking.Business.csproj @@ -11,7 +11,7 @@ - - + +
\ No newline at end of file diff --git a/samples/Cdr.Banking/Cdr.Banking.Common/Cdr.Banking.Common.csproj b/samples/Cdr.Banking/Cdr.Banking.Common/Cdr.Banking.Common.csproj index 1459565ae..ad44ff844 100644 --- a/samples/Cdr.Banking/Cdr.Banking.Common/Cdr.Banking.Common.csproj +++ b/samples/Cdr.Banking/Cdr.Banking.Common/Cdr.Banking.Common.csproj @@ -8,6 +8,6 @@ - + \ No newline at end of file diff --git a/samples/Cdr.Banking/Cdr.Banking.Test/Cdr.Banking.Test.csproj b/samples/Cdr.Banking/Cdr.Banking.Test/Cdr.Banking.Test.csproj index 93ee960ae..3d001d1cc 100644 --- a/samples/Cdr.Banking/Cdr.Banking.Test/Cdr.Banking.Test.csproj +++ b/samples/Cdr.Banking/Cdr.Banking.Test/Cdr.Banking.Test.csproj @@ -35,7 +35,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/samples/Demo/Beef.Demo.Api/Beef.Demo.Api.csproj b/samples/Demo/Beef.Demo.Api/Beef.Demo.Api.csproj index 90b7f66d6..1b75fc709 100644 --- a/samples/Demo/Beef.Demo.Api/Beef.Demo.Api.csproj +++ b/samples/Demo/Beef.Demo.Api/Beef.Demo.Api.csproj @@ -12,7 +12,7 @@ - + diff --git a/samples/Demo/Beef.Demo.Business/Beef.Demo.Business.csproj b/samples/Demo/Beef.Demo.Business/Beef.Demo.Business.csproj index 2207601c5..1d37bd46d 100644 --- a/samples/Demo/Beef.Demo.Business/Beef.Demo.Business.csproj +++ b/samples/Demo/Beef.Demo.Business/Beef.Demo.Business.csproj @@ -15,13 +15,13 @@ - - - - - - - + + + + + + + diff --git a/samples/Demo/Beef.Demo.Business/Entities/Generated/Company.cs b/samples/Demo/Beef.Demo.Business/Entities/Generated/Company.cs index a8820ca77..90ac26e9f 100644 --- a/samples/Demo/Beef.Demo.Business/Entities/Generated/Company.cs +++ b/samples/Demo/Beef.Demo.Business/Entities/Generated/Company.cs @@ -18,7 +18,7 @@ public partial class Company : ReferenceDataBaseEx /// public string? ExternalCode { - get => GetMapping(nameof(ExternalCode)); + get => GetMapping(nameof(ExternalCode)); set { var __externalCode = ExternalCode; SetValue(ref __externalCode, value); SetMapping(nameof(ExternalCode), __externalCode!); } } diff --git a/samples/Demo/Beef.Demo.Business/Entities/Generated/Gender.cs b/samples/Demo/Beef.Demo.Business/Entities/Generated/Gender.cs index cd014c8ea..68ce79edb 100644 --- a/samples/Demo/Beef.Demo.Business/Entities/Generated/Gender.cs +++ b/samples/Demo/Beef.Demo.Business/Entities/Generated/Gender.cs @@ -36,7 +36,7 @@ public partial class Gender : ReferenceDataBaseEx [JsonIgnore] public string? TripCode { - get => GetMapping(nameof(TripCode)); + get => GetMapping(nameof(TripCode)); set { var __tripCode = TripCode; SetValue(ref __tripCode, value); SetMapping(nameof(TripCode), __tripCode!); } } diff --git a/samples/Demo/Beef.Demo.Common/Beef.Demo.Common.csproj b/samples/Demo/Beef.Demo.Common/Beef.Demo.Common.csproj index 74b6083e0..1c01146e3 100644 --- a/samples/Demo/Beef.Demo.Common/Beef.Demo.Common.csproj +++ b/samples/Demo/Beef.Demo.Common/Beef.Demo.Common.csproj @@ -7,7 +7,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/samples/Demo/Beef.Demo.Test/Beef.Demo.Test.csproj b/samples/Demo/Beef.Demo.Test/Beef.Demo.Test.csproj index 81254cd5b..1432e594e 100644 --- a/samples/Demo/Beef.Demo.Test/Beef.Demo.Test.csproj +++ b/samples/Demo/Beef.Demo.Test/Beef.Demo.Test.csproj @@ -52,7 +52,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/samples/My.Hr/My.Hr.Api/My.Hr.Api.csproj b/samples/My.Hr/My.Hr.Api/My.Hr.Api.csproj index 9023da120..05e656ee6 100644 --- a/samples/My.Hr/My.Hr.Api/My.Hr.Api.csproj +++ b/samples/My.Hr/My.Hr.Api/My.Hr.Api.csproj @@ -5,7 +5,7 @@ true - + diff --git a/samples/My.Hr/My.Hr.Business/My.Hr.Business.csproj b/samples/My.Hr/My.Hr.Business/My.Hr.Business.csproj index fa9c757b9..e6c73f637 100644 --- a/samples/My.Hr/My.Hr.Business/My.Hr.Business.csproj +++ b/samples/My.Hr/My.Hr.Business/My.Hr.Business.csproj @@ -5,10 +5,10 @@ true - - - - + + + + \ No newline at end of file diff --git a/samples/My.Hr/My.Hr.Common/My.Hr.Common.csproj b/samples/My.Hr/My.Hr.Common/My.Hr.Common.csproj index f191184d9..21f764c28 100644 --- a/samples/My.Hr/My.Hr.Common/My.Hr.Common.csproj +++ b/samples/My.Hr/My.Hr.Common/My.Hr.Common.csproj @@ -4,6 +4,6 @@ enable - + \ No newline at end of file diff --git a/samples/My.Hr/My.Hr.Test/My.Hr.Test.csproj b/samples/My.Hr/My.Hr.Test/My.Hr.Test.csproj index ae9c89de3..609940eb0 100644 --- a/samples/My.Hr/My.Hr.Test/My.Hr.Test.csproj +++ b/samples/My.Hr/My.Hr.Test/My.Hr.Test.csproj @@ -32,13 +32,13 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/samples/MyEf.Hr/MyEf.Hr.Api/MyEf.Hr.Api.csproj b/samples/MyEf.Hr/MyEf.Hr.Api/MyEf.Hr.Api.csproj index eea1736c5..33e2f7952 100644 --- a/samples/MyEf.Hr/MyEf.Hr.Api/MyEf.Hr.Api.csproj +++ b/samples/MyEf.Hr/MyEf.Hr.Api/MyEf.Hr.Api.csproj @@ -6,8 +6,8 @@ True - - + + diff --git a/samples/MyEf.Hr/MyEf.Hr.Business/MyEf.Hr.Business.csproj b/samples/MyEf.Hr/MyEf.Hr.Business/MyEf.Hr.Business.csproj index 537167e30..e23077b61 100644 --- a/samples/MyEf.Hr/MyEf.Hr.Business/MyEf.Hr.Business.csproj +++ b/samples/MyEf.Hr/MyEf.Hr.Business/MyEf.Hr.Business.csproj @@ -5,10 +5,10 @@ true - - - - + + + + diff --git a/samples/MyEf.Hr/MyEf.Hr.Common/MyEf.Hr.Common.csproj b/samples/MyEf.Hr/MyEf.Hr.Common/MyEf.Hr.Common.csproj index f191184d9..21f764c28 100644 --- a/samples/MyEf.Hr/MyEf.Hr.Common/MyEf.Hr.Common.csproj +++ b/samples/MyEf.Hr/MyEf.Hr.Common/MyEf.Hr.Common.csproj @@ -4,6 +4,6 @@ enable - + \ No newline at end of file diff --git a/samples/MyEf.Hr/MyEf.Hr.Security.Subscriptions/MyEf.Hr.Security.Subscriptions.csproj b/samples/MyEf.Hr/MyEf.Hr.Security.Subscriptions/MyEf.Hr.Security.Subscriptions.csproj index 76c2e5f7a..9ae789ba3 100644 --- a/samples/MyEf.Hr/MyEf.Hr.Security.Subscriptions/MyEf.Hr.Security.Subscriptions.csproj +++ b/samples/MyEf.Hr/MyEf.Hr.Security.Subscriptions/MyEf.Hr.Security.Subscriptions.csproj @@ -16,8 +16,8 @@ - - + + diff --git a/samples/MyEf.Hr/MyEf.Hr.Security.Test/MyEf.Hr.Security.Test.csproj b/samples/MyEf.Hr/MyEf.Hr.Security.Test/MyEf.Hr.Security.Test.csproj index 0482cd41e..028523ac9 100644 --- a/samples/MyEf.Hr/MyEf.Hr.Security.Test/MyEf.Hr.Security.Test.csproj +++ b/samples/MyEf.Hr/MyEf.Hr.Security.Test/MyEf.Hr.Security.Test.csproj @@ -28,7 +28,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/samples/MyEf.Hr/MyEf.Hr.Test/MyEf.Hr.Test.csproj b/samples/MyEf.Hr/MyEf.Hr.Test/MyEf.Hr.Test.csproj index 02e5d86a6..22080f350 100644 --- a/samples/MyEf.Hr/MyEf.Hr.Test/MyEf.Hr.Test.csproj +++ b/samples/MyEf.Hr/MyEf.Hr.Test/MyEf.Hr.Test.csproj @@ -32,13 +32,13 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/templates/Beef.Template.Solution/content/.template.config/template.json b/templates/Beef.Template.Solution/content/.template.config/template.json index 16d7249ef..38a4764d3 100644 --- a/templates/Beef.Template.Solution/content/.template.config/template.json +++ b/templates/Beef.Template.Solution/content/.template.config/template.json @@ -65,7 +65,7 @@ "type": "generated", "generator": "constant", "parameters": { - "value": "3.6.3" + "value": "3.7.0" }, "replaces": "CoreExVersion" }, @@ -73,7 +73,7 @@ "type": "generated", "generator": "constant", "parameters": { - "value": "5.7.1" + "value": "5.7.2" }, "replaces": "BeefVersion" }, diff --git a/tools/Beef.CodeGen.Core/Config/Entity/EntityConfig.cs b/tools/Beef.CodeGen.Core/Config/Entity/EntityConfig.cs index a4e6051b0..9f62f7be4 100644 --- a/tools/Beef.CodeGen.Core/Config/Entity/EntityConfig.cs +++ b/tools/Beef.CodeGen.Core/Config/Entity/EntityConfig.cs @@ -630,6 +630,14 @@ public class EntityConfig : ConfigBase Description = "Prepended to `Operation.HttpAgentCode` where specified to enable standardized functionality.")] public string? HttpAgentCode { get; set; } + /// + /// Indicates that a custom HTTP Agent Mapper will be used; i.e. not generated. + /// + [JsonProperty("httpAgentCustomMapper", DefaultValueHandling = DefaultValueHandling.Ignore)] + [CodeGenProperty("OData", Title = "Indicates that a custom HTTP Agent `Mapper` will be used; i.e. not generated.", + Description = "Otherwise, by default, a `Mapper` will be generated.")] + public bool? HttpAgentCustomMapper { get; set; } + /// /// Gets or sets the `HttpAgent` data-layer name that should be used for base mappings. /// diff --git a/tools/Beef.CodeGen.Core/Schema/entity.beef-5.json b/tools/Beef.CodeGen.Core/Schema/entity.beef-5.json index 2442e100e..2adcf94e3 100644 --- a/tools/Beef.CodeGen.Core/Schema/entity.beef-5.json +++ b/tools/Beef.CodeGen.Core/Schema/entity.beef-5.json @@ -711,6 +711,11 @@ "title": "The fluent-style method-chaining C# HTTP Agent API code to include where 'Operation.AutoImplement' is 'HttpAgent'.", "description": "Prepended to 'Operation.HttpAgentCode' where specified to enable standardized functionality." }, + "httpAgentCustomMapper": { + "type": "boolean", + "title": "Indicates that a custom HTTP Agent 'Mapper' will be used; i.e. not generated.", + "description": "Otherwise, by default, a 'Mapper' will be generated." + }, "httpAgentMapperBase": { "type": "string", "title": "The HTTP Agent data-layer name that should be used for base mappings." diff --git a/tools/Beef.CodeGen.Core/Templates/Entity_cs.hbs b/tools/Beef.CodeGen.Core/Templates/Entity_cs.hbs index 314ad8e71..50b162a30 100644 --- a/tools/Beef.CodeGen.Core/Templates/Entity_cs.hbs +++ b/tools/Beef.CodeGen.Core/Templates/Entity_cs.hbs @@ -181,7 +181,7 @@ public {{#if Abstract}}abstract {{/if}}partial class {{{EntityName}}} : {{{Entit {{#if RefDataMapping}} public {{{PropertyType}}} {{Name}} { - get => GetMapping<{{{PropertyType}}}>(nameof({{Name}})); + get => GetMapping<{{{Type}}}>(nameof({{Name}})); set { var _{{PropertyPrivateName}} = {{Name}}; SetValue(ref _{{PropertyPrivateName}}, value); SetMapping(nameof({{Name}}), _{{PropertyPrivateName}}!); } } {{else}} diff --git a/tools/Beef.Database.Core/Beef.Database.Core.csproj b/tools/Beef.Database.Core/Beef.Database.Core.csproj index be3bcf8ea..ed87c8637 100644 --- a/tools/Beef.Database.Core/Beef.Database.Core.csproj +++ b/tools/Beef.Database.Core/Beef.Database.Core.csproj @@ -14,7 +14,7 @@ - + diff --git a/tools/Beef.Database.MySql/Beef.Database.MySql.csproj b/tools/Beef.Database.MySql/Beef.Database.MySql.csproj index 43adc4052..d7748bd2b 100644 --- a/tools/Beef.Database.MySql/Beef.Database.MySql.csproj +++ b/tools/Beef.Database.MySql/Beef.Database.MySql.csproj @@ -14,7 +14,7 @@ - + diff --git a/tools/Beef.Database.SqlServer/Beef.Database.SqlServer.csproj b/tools/Beef.Database.SqlServer/Beef.Database.SqlServer.csproj index 3a31bcf9d..198d9209b 100644 --- a/tools/Beef.Database.SqlServer/Beef.Database.SqlServer.csproj +++ b/tools/Beef.Database.SqlServer/Beef.Database.SqlServer.csproj @@ -14,7 +14,7 @@ - + diff --git a/tools/Beef.Test.NUnit/Beef.Test.NUnit.csproj b/tools/Beef.Test.NUnit/Beef.Test.NUnit.csproj index ef679d974..653008eb1 100644 --- a/tools/Beef.Test.NUnit/Beef.Test.NUnit.csproj +++ b/tools/Beef.Test.NUnit/Beef.Test.NUnit.csproj @@ -8,7 +8,7 @@ - +