From fb08a45c57456b811ff62464933f5dc1e2c9240d Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 10 Dec 2025 13:26:42 +0100 Subject: [PATCH] Add EnsureProperties method to EntityBaseOptions Introduce EnsureProperties to validate required property names against the Columns dictionary, throwing an exception if any are missing. This helps enforce configuration completeness. --- .../Options/Shared/EntityBaseOptions.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ReC.Infrastructure/Options/Shared/EntityBaseOptions.cs b/src/ReC.Infrastructure/Options/Shared/EntityBaseOptions.cs index 8379bd9..bd73870 100644 --- a/src/ReC.Infrastructure/Options/Shared/EntityBaseOptions.cs +++ b/src/ReC.Infrastructure/Options/Shared/EntityBaseOptions.cs @@ -3,4 +3,12 @@ public record EntityBaseOptions() { public Dictionary Columns { get; init; } = []; + + public void EnsureProperties(IEnumerable propertyNames) + { + var missingProperties = propertyNames.Except(Columns.Select(col => col.Key)).ToList(); + + if (missingProperties.Count != 0) + throw new InvalidOperationException($"The following properties are not configured: {string.Join(", ", missingProperties)}"); + } } \ No newline at end of file