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 @@
-
+