Table of Contents

Namespace LinqToDB.Internal.Common

Classes

ActivatorExt

APIs to call reflection-based invoke operations with automatic unwrap of TargetInvocationException on error.

BuildExpressionUtils
DecimalHelper
EnumerableHelper
ErrorHelper

This is internal API and is not intended for use by Linq To DB applications. It may change or be removed without further notice.

ErrorHelper.ClickHouse
ErrorHelper.MySql
ErrorHelper.Oracle
ErrorHelper.Sybase
ObjectPool<T>

Generic implementation of object pooling pattern with predefined pool size limit. The main purpose is that limited number of frequently used objects can be kept in the pool for further recycling.

Notes:

  1. it is not the goal to keep all returned objects. Pool is not meant for storage. If there is no space in the pool, extra returned objects will be dropped.

  2. it is implied that if object was obtained from a pool, the caller will return it back in a relatively short time. Keeping checked out objects for long durations is ok, but reduces usefulness of pooling. Just new up your own.

Not returning objects to the pool in not detrimental to the pool's work, but is a bad practice. Rationale: If there is no intent for reusing the object, do not use pool - just use "new".

SqlTextWriter
StackGuard
Tools

Various general-purpose helpers.

TypeHelper
Utils
Utils.ObjectReferenceEqualityComparer<T>
ValueComparer

This is internal API and is not intended for use by Linq To DB applications. It may change or be removed without further notice.

ValueComparer<T>

This is internal API and is not intended for use by Linq To DB applications. It may change or be removed without further notice.

Structs

IdentifierBuilder

Internal infrastructure API. Provides functionality for ConfigurationID generation.

ObjectPool<T>.RentedElement
SqlTextWriter.IndentScope

Interfaces

IConfigurationID

For internal use.