Class TranslationPolicy
- Namespace
- The.SQL.Persistence
- Assembly
- Instagile.dll
public sealed record TranslationPolicy : IEquatable<TranslationPolicy>
- Inheritance
-
TranslationPolicy
- Implements
- Inherited Members
Constructors
TranslationPolicy(bool, bool, bool, bool, bool, RegexReplacementSyntax)
public TranslationPolicy(bool Optimise, bool ReprojectViaCTE, bool AllowSubqueryWithinAggregate, bool CurrencyManipulationUnsupported, bool MillisecondResolution, RegexReplacementSyntax RegexReplacement = RegexReplacementSyntax.DotNet)
Parameters
OptimiseboolSpend extra CPU time to save DB work.
ReprojectViaCTEboolGenerate a common table expression instead of a subquery to implement skip/reorder.
AllowSubqueryWithinAggregateboolGenerate subqueries instead of outer joins inside aggregate functions. Used for databases which can handle SUM(SELECT X FROM Y).
CurrencyManipulationUnsupportedboolThe database does not support manipulation of currency attributes.
MillisecondResolutionboolThe database supports time values in milliseconds (rather than seconds).
RegexReplacementRegexReplacementSyntaxThe substitution syntax the backend's regex-replace expects, used to rewrite
Regex.Replacereplacement strings. Defaults to .NET syntax (no rewrite), which suits the transient and SQLite backends.
Properties
AllowSubqueryWithinAggregate
Generate subqueries instead of outer joins inside aggregate functions. Used for databases which can handle SUM(SELECT X FROM Y).
public bool AllowSubqueryWithinAggregate { get; init; }
Property Value
CurrencyManipulationUnsupported
The database does not support manipulation of currency attributes.
public bool CurrencyManipulationUnsupported { get; init; }
Property Value
MillisecondResolution
The database supports time values in milliseconds (rather than seconds).
public bool MillisecondResolution { get; init; }
Property Value
Optimise
Spend extra CPU time to save DB work.
public bool Optimise { get; init; }
Property Value
RegexReplacement
The substitution syntax the backend's regex-replace expects, used to rewrite Regex.Replace replacement strings. Defaults to .NET syntax (no rewrite), which suits the transient and SQLite backends.
public RegexReplacementSyntax RegexReplacement { get; init; }
Property Value
ReprojectViaCTE
Generate a common table expression instead of a subquery to implement skip/reorder.
public bool ReprojectViaCTE { get; init; }
Property Value
Methods
Translate(Expression)
public TranslatedQuery Translate(Expression untranslated)
Parameters
untranslatedExpression