Table of Contents

Namespace LinqToDB.Expressions

Classes

CustomMapperAttribute
DefaultValueExpression
ExpressionEvaluator

Internal API.

ExpressionExtensions
ExpressionGenerator
ExpressionHelper
ExpressionInstances

Contains pre-created instances of ConstantExpression object for often used constants. Using those instances we avoid unnecessary allocations of same constant instances and avoid boxing for value constants (e.g. booleans, integers).

IsQueryableAttribute

Used to define queryable members.

MemberHelper
SqlQueryDependentAttribute

Used for controlling query caching of custom SQL Functions. Parameter with this attribute will be evaluated on client side before generating SQL.

SqlQueryDependentParamsAttribute

Used for controlling query caching of custom SQL Functions. Parameter with this attribute will be evaluated on client side before generating SQL.

TypeMapper

Implements typed mappings support for dynamically loaded types.

TypeMapper.MemberBuilder<T, TV>
TypeMapper.TypeBuilder<T>
TypeWrapper

Implements base class for typed wrappers over provider-specific type.

TypeWrapperNameAttribute
ValueTaskToTaskMapper
WrapperAttribute

Structs

MemberHelper.MemberInfoWithType
TransformInfo

Interfaces

ICustomMapper
IGenericInfoProvider

Generic conversions provider. Implementation class must be generic, as type parameters will be used for conversion initialization in SetInfo(MappingSchema) method.

// this conversion provider adds conversion from IEnumerable<T> to ImmutableList<T> for specific T type parameter
class EnumerableToImmutableListConvertProvider<T> : IGenericInfoProvider
{
public void SetInfo(MappingSchema mappingSchema)
{
mappingSchema.SetConvertExpression<IEnumerable<T>,ImmutableList<T>>(
t => ImmutableList.Create(t.ToArray()));
}
}
SetGenericConvertProvider(Type) for more details.