Table of Contents

Class FunctionMetadata

Namespace
LinqToDB.Metadata
Assembly
linq2db.Tools.dll

Scalar, aggregate or window (analytic) function mapping attributes, used with Sql.FunctionAttribute mapping attribute.

public sealed class FunctionMetadata
Inheritance
FunctionMetadata
Extension Methods

Properties

ArgIndices

Contains indexes of mapped method parameters, that should be mapped to function parameter with position matching position of index in array.

public int[]? ArgIndices { get; set; }

Property Value

int[]

CanBeNull

Function could return NULL value.

public bool? CanBeNull { get; set; }

Property Value

bool?

Configuration

Mapping configuration name.

public string? Configuration { get; set; }

Property Value

string

InlineParameters

Function parameters should be inlined into generated SQL as literals.

public bool? InlineParameters { get; set; }

Property Value

bool?

IsAggregate

Function could be used as aggregate.

public bool? IsAggregate { get; set; }

Property Value

bool?

IsNullable

Provides more detailed nullability information than CanBeNull property.

public Sql.IsNullableType? IsNullable { get; set; }

Property Value

Sql.IsNullableType?

IsPredicate

Marks bool-returning function as predicate: function, that could be used in boolean conditions directly without conversion to database boolean type/predicate.

public bool? IsPredicate { get; set; }

Property Value

bool?

IsPure

Pure functions (functions without side-effects that return same outputs for same inputs) calls information could be used by query optimizer to generate better SQL.

public bool? IsPure { get; set; }

Property Value

bool?

IsWindowFunction

Function could be used as window (analytic) function.

public bool? IsWindowFunction { get; set; }

Property Value

bool?

Name

Function name.

public SqlObjectName? Name { get; set; }

Property Value

SqlObjectName?

PreferServerSide

Avoid client-side method execution when possible.

public bool? PreferServerSide { get; set; }

Property Value

bool?

ServerSideOnly

Prevent client-side method exection.

public bool? ServerSideOnly { get; set; }

Property Value

bool?