diff --git a/DigitalData.Core.Abstractions/ConfigurationExtension.cs b/DigitalData.Core.Abstractions/ConfigurationExtension.cs
new file mode 100644
index 0000000..5515124
--- /dev/null
+++ b/DigitalData.Core.Abstractions/ConfigurationExtension.cs
@@ -0,0 +1,30 @@
+using Microsoft.Extensions.Configuration;
+
+namespace DigitalData.Core.Abstractions
+{
+ ///
+ /// Extension methods for the interface, providing
+ /// additional functionality for retrieving configuration values with default behavior.
+ ///
+ public static class ConfigurationExtension
+ {
+ ///
+ /// Retrieves a configuration value for the specified key, or returns a default value
+ /// of type if the configuration is not found or the key is null.
+ ///
+ /// The type of the object to retrieve from the configuration.
+ /// The instance.
+ /// The optional key to look for in the configuration. If null, the method
+ /// retrieves the root configuration.
+ ///
+ /// An instance of populated from the configuration values, or
+ /// a new instance of if no matching configuration is found.
+ ///
+ public static T GetOrDefault(this IConfiguration configuration, string? key = null)
+ where T : new()
+ => (key is null
+ ? configuration.Get()
+ : configuration.GetSection(key).Get())
+ ?? new T();
+ }
+}
diff --git a/DigitalData.Core.Abstractions/DigitalData.Core.Abstractions.csproj b/DigitalData.Core.Abstractions/DigitalData.Core.Abstractions.csproj
index c6579bd..fdb87d2 100644
--- a/DigitalData.Core.Abstractions/DigitalData.Core.Abstractions.csproj
+++ b/DigitalData.Core.Abstractions/DigitalData.Core.Abstractions.csproj
@@ -17,9 +17,9 @@
http://git.dd:3000/AppStd/WebCoreModules.git
False
core_icon.png
- 3.4.4
- 3.4.4
- 3.4.4
+ 3.5.0
+ 3.5.0
+ 3.5.0