diff --git a/src/EFCore.Relational/Query/Internal/RelationalCommandCache.cs b/src/EFCore.Relational/Query/Internal/RelationalCommandCache.cs index 15124daf2e1..5b9694b7c68 100644 --- a/src/EFCore.Relational/Query/Internal/RelationalCommandCache.cs +++ b/src/EFCore.Relational/Query/Internal/RelationalCommandCache.cs @@ -17,7 +17,7 @@ namespace Microsoft.EntityFrameworkCore.Query.Internal /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// - public class RelationalCommandCache + public class RelationalCommandCache : IPrintableExpression { private static readonly ConcurrentDictionary _syncObjects = new ConcurrentDictionary(); @@ -73,6 +73,16 @@ public virtual IRelationalCommand GetRelationalCommand([NotNull] IReadOnlyDictio return relationalCommand; } + public virtual void Print(ExpressionPrinter expressionPrinter) + { + expressionPrinter.AppendLine("RelationalCommandCache.SelectExpression("); + using (expressionPrinter.Indent()) + { + expressionPrinter.Visit(_selectExpression); + expressionPrinter.Append(")"); + } + } + private readonly struct CommandCacheKey { private readonly SelectExpression _selectExpression;