linq2db by Igor Tkachev, Ilya Chudin, Svyatoslav Danyliv, Dmitry Lukashenko

<PackageReference Include="linq2db" Version="5.3.0" />

 OptimizationContext

public class OptimizationContext
public AliasesContext Aliases { get; }

public EvaluationContext Context { get; }

public bool IsParameterOrderDependent { get; }

public OptimizationContext(EvaluationContext context, AliasesContext aliases, bool isParameterOrderDependent, Func<IQueryParametersNormalizer> parametersNormalizerFactory)

public void ClearParameters()

public bool HasParameters()

public bool IsOptimized(IQueryElement element, out IQueryElement newExpr)

public void RegisterOptimized(IQueryElement element, IQueryElement newExpr)

public SqlParameter SuggestDynamicParameter(DbDataType dbDataType, object value)