Namespace LinqToDB.Linq
Classes
- NoLinqCache
Provides a scope, in which LINQ queries will not be added to a LINQ query cache. This could be used to tell linq2db to not cache queries that operate with big parametes. More details could be found here. Take into account that this class only disables adding of new query, created in its scope, to a cache. If query already present in cache - linq2db will use cached query.
- Tools
Various general-purpose helpers.
Interfaces
- IAsQueryableBuilder<T>
Initial stage of AsQueryable<TElement>(IEnumerable<TElement>, IDataContext, Expression<Func<IAsQueryableBuilder<TElement>, IAsQueryableExceptBuilder<TElement>>>) configuration. The caller must pick a default rendering mode (Parameterize() or Inline()) before any further configuration is available. All chain methods are marker-only — the chain is captured as an expression tree and interpreted at query-build time. Calling them outside an Expression context is undefined behaviour.
- IAsQueryableExceptBuilder<T>
Configuration stage exposed after the rendering mode has been chosen via Parameterize() or Inline(). Allows per-member overrides via Except(params Expression<Func<T, object?>>[]).
- IEntityInsertSpec<TTarget>
Fluent configuration builder for a standalone entity INSERT (
table.Insert(item, b => b.Set(…).Ignore(…))). Carries onlySet/Ignore; the Upsert-only chain methodsWhen/DoNothinglive on IUpsertInsertSpec<TTarget> and are unreachable from this builder by design.
- IEntityInsertSpec<TTarget, TBuilder>
F-bounded base for entity-INSERT-builder fluent chains. Declares the chain methods that are common to standalone Insert (IEntityInsertSpec<TTarget>) and the Upsert INSERT branch (IUpsertInsertSpec<TTarget>); each leaf interface substitutes itself as
TBuilderso chain methods return the correct concrete builder type.
- IEntityUpdateSpec<TTarget>
Fluent configuration builder for a standalone entity UPDATE (
table.Update(item, b => b.Set(…).Ignore(…))). Carries onlySet/Ignore; the Upsert-only chain methodsWhen/DoNothinglive on IUpsertUpdateSpec<TTarget> and are unreachable from this builder by design.
- IEntityUpdateSpec<TTarget, TBuilder>
F-bounded base for entity-UPDATE-builder fluent chains. Declares the chain methods that are common to standalone Update (IEntityUpdateSpec<TTarget>) and the Upsert UPDATE branch (IUpsertUpdateSpec<TTarget>); each leaf interface substitutes itself as
TBuilderso chain methods return the correct concrete builder type.
- IMergeableOn<TTarget, TSource>
Merge command builder that have only target table and source configured. Only operation available for this type of builder is match (ON) condition configuration.
- IMergeableSource<TTarget, TSource>
Merge command builder that have target table, source and match (ON) condition configured. You can only add operations to this type of builder.
- IMergeableUsing<TTarget>
Merge command builder that have only target table configured. Only operation available for this type of builder is source configuration.
- IMergeable<TTarget, TSource>
Merge command builder that have target table, source, match (ON) condition and at least one operation configured. You can add more operations to this type of builder or execute command.
- IUpsertInsertSpec<TTarget>
Fluent configuration builder for the INSERT branch of an Upsert operation. Inherits
Set/Ignorefrom IEntityInsertSpec<TTarget, TBuilder> (with itself substituted asTBuilder, so chain methods return IUpsertInsertSpec<TTarget>) and adds the Upsert-only chain methods When(Expression<Func<TTarget, bool>>) / DoNothing(), which have no SQL meaning outside MERGE / ON CONFLICT.
- IUpsertSpec<TTarget>
Fluent configuration builder for an Upsert (insert-or-update) operation. Returned to the caller of an
Upsertextension method through a configuration lambda.
- IUpsertUpdateSpec<TTarget>
Fluent configuration builder for the UPDATE branch of an Upsert operation. Inherits
Set(3 overloads) /Ignorefrom IEntityUpdateSpec<TTarget, TBuilder> (with itself substituted asTBuilder, so chain methods return IUpsertUpdateSpec<TTarget>) and adds the Upsert-only chain methods When(Expression<Func<TTarget, TTarget, bool>>) / DoNothing(), which have no SQL meaning outside MERGE / ON CONFLICT.