diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index dc0bc13..4e7ea0c 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -3,8 +3,8 @@ true - - + + diff --git a/src/GenericQueryable.Runtime/Fetching/FetchRuleExpanderExtensions.cs b/src/GenericQueryable.Abstractions/Fetching/FetchRuleExpanderExtensions.cs similarity index 100% rename from src/GenericQueryable.Runtime/Fetching/FetchRuleExpanderExtensions.cs rename to src/GenericQueryable.Abstractions/Fetching/FetchRuleExpanderExtensions.cs diff --git a/src/GenericQueryable.Runtime/Fetching/IFetchRuleExpander.cs b/src/GenericQueryable.Abstractions/Fetching/IFetchRuleExpander.cs similarity index 100% rename from src/GenericQueryable.Runtime/Fetching/IFetchRuleExpander.cs rename to src/GenericQueryable.Abstractions/Fetching/IFetchRuleExpander.cs diff --git a/src/GenericQueryable.Abstractions/Fetching/UntypedFetchRule.cs b/src/GenericQueryable.Abstractions/Fetching/UntypedFetchRule.cs index 9b74d8f..cf9b6fa 100644 --- a/src/GenericQueryable.Abstractions/Fetching/UntypedFetchRule.cs +++ b/src/GenericQueryable.Abstractions/Fetching/UntypedFetchRule.cs @@ -1,3 +1,3 @@ namespace GenericQueryable.Fetching; -public record UntypedFetchRule(string Path) : FetchRule; \ No newline at end of file +public sealed record UntypedFetchRule(string Path) : FetchRule; \ No newline at end of file diff --git a/src/GenericQueryable.Runtime/Fetching/FetchRuleHeaderExpander.cs b/src/GenericQueryable.Runtime/Fetching/FetchRuleHeaderExpander.cs index 3378de3..663e9e9 100644 --- a/src/GenericQueryable.Runtime/Fetching/FetchRuleHeaderExpander.cs +++ b/src/GenericQueryable.Runtime/Fetching/FetchRuleHeaderExpander.cs @@ -15,7 +15,7 @@ public class FetchRuleHeaderExpander(IEnumerable fetchRuleH { if (fetchRule is FetchRuleHeader fetchRuleHeader) { - return cache.GetOrAdd(typeof(TSource), + return cache.GetOrAdd(fetchRuleHeader.GetType(), _ => headersDict .GetValueOrDefault(typeof(TSource)) .EmptyIfNull() diff --git a/src/GenericQueryable.Runtime/Fetching/FetchService.cs b/src/GenericQueryable.Runtime/Fetching/FetchService.cs index 38d1be3..23110bd 100644 --- a/src/GenericQueryable.Runtime/Fetching/FetchService.cs +++ b/src/GenericQueryable.Runtime/Fetching/FetchService.cs @@ -11,7 +11,7 @@ namespace GenericQueryable.Fetching; public abstract class FetchService([FromKeyedServices(RootFetchRuleExpander.Key)] IFetchRuleExpander fetchRuleExpander) : IFetchService { - private readonly ConcurrentDictionary> rootCache = []; + private readonly ConcurrentDictionary rootCache = []; public virtual IQueryable ApplyFetch(IQueryable source, FetchRule fetchRule) where TSource : class => this.GetApplyFetchFunc(fetchRule).Invoke(source); @@ -20,7 +20,6 @@ private Func, IQueryable> GetApplyFetchFunc new ConcurrentDictionary()) .GetOrAdd(fetchRule.GetType(), _ => new ConcurrentDictionary, Func, IQueryable>>()) .Pipe(v => (ConcurrentDictionary, Func, IQueryable>>)v) .GetOrAdd(fetchRule, _ => diff --git a/src/GenericQueryable.Runtime/Fetching/RootFetchRuleExpander.cs b/src/GenericQueryable.Runtime/Fetching/RootFetchRuleExpander.cs index aa04970..9ad89f3 100644 --- a/src/GenericQueryable.Runtime/Fetching/RootFetchRuleExpander.cs +++ b/src/GenericQueryable.Runtime/Fetching/RootFetchRuleExpander.cs @@ -19,7 +19,7 @@ public class RootFetchRuleExpander(IEnumerable expanders) : else { return cache - .GetOrAdd(typeof(TSource), _ => new ConcurrentDictionary, PropertyFetchRule?>()) + .GetOrAdd(fetchRule.GetType(), _ => new ConcurrentDictionary, PropertyFetchRule?>()) .Pipe(innerCache => (ConcurrentDictionary, PropertyFetchRule?>)innerCache) .GetOrAdd(fetchRule, _ => { diff --git a/src/__SolutionItems/CommonAssemblyInfo.cs b/src/__SolutionItems/CommonAssemblyInfo.cs index 4fdb881..d58939a 100644 --- a/src/__SolutionItems/CommonAssemblyInfo.cs +++ b/src/__SolutionItems/CommonAssemblyInfo.cs @@ -3,7 +3,7 @@ [assembly: AssemblyProduct("GenericQueryable")] [assembly: AssemblyCompany("IvAt")] -[assembly: AssemblyVersion("2.1.13.0")] +[assembly: AssemblyVersion("2.1.14.0")] [assembly: AssemblyInformationalVersion("changes at build")] #if DEBUG