diff --git a/Providers/XBaseTagProvider.cs b/Providers/XBaseTagProvider.cs index 741b413..3c26f7e 100644 --- a/Providers/XBaseTagProvider.cs +++ b/Providers/XBaseTagProvider.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using System.Xml; using xCommons.Extensions; using xDataService.Extensions; using xDataService.Models; @@ -132,6 +133,33 @@ namespace xTagService.Providers return await Task.FromResult(result); } + /// + /// Extract all Referencing Models for Specified Key ... + /// + /// + /// + public async Task>> GetAllReferencings(TKey providedForId) + { + // + // Validate ... + var isValid = + !providedForId.IsNull(); + if (!isValid) + { + xExceptios.InvalidArgs.Throw(); + } + + // + var identifier = GetProvidedID(providedForId); + + // + var result = TagProvider.Repository + .AsQueryable() + .Where(te => te.References.Contains(identifier)) + .Select(te => te.References) + ; + } + /// /// Count References ... ///