Table of Contents

Interface IDataModelGenerationContext

Namespace
LinqToDB.DataModel
Assembly
linq2db.Tools.dll
public interface IDataModelGenerationContext
Extension Methods

Properties

AST

Gets AST builder.

CodeBuilder AST { get; }

Property Value

CodeBuilder

ContextMappingSchema

Adds static mapping schema property (if not added yet) to main data context class and returns reference to it.

CodeReference ContextMappingSchema { get; }

Property Value

CodeReference

ContextProperties

Gets property group for table access properties in CurrentDataContext class.

PropertyGroup ContextProperties { get; }

Property Value

PropertyGroup

ContextReference

Code reference to instance of MainDataContext.

ICodeExpression ContextReference { get; }

Property Value

ICodeExpression

CurrentDataContext

Current data context class builder. For default schema references MainDataContext. For schema context references schema context class builder.

ClassBuilder CurrentDataContext { get; }

Property Value

ClassBuilder

ExtensionsClass

Gets class with extension methods.

ClassBuilder ExtensionsClass { get; }

Property Value

ClassBuilder

Files

Gets generated files.

IEnumerable<CodeFile> Files { get; }

Property Value

IEnumerable<CodeFile>

FindExtensionsGroup

Gets method group for Find extension methods.

MethodGroup FindExtensionsGroup { get; }

Property Value

MethodGroup

HasContextMappingSchema

Returns true if current scaffold generated context mapping schema.

bool HasContextMappingSchema { get; }

Property Value

bool

LanguageProvider

Gets language services provider.

ILanguageProvider LanguageProvider { get; }

Property Value

ILanguageProvider

MainDataContext

Main data context class builder (implements IDataContext).

ClassBuilder MainDataContext { get; }

Property Value

ClassBuilder

MainDataContextConstructors

Main data context countructors group.

ConstructorGroup MainDataContextConstructors { get; }

Property Value

ConstructorGroup

MainDataContextPartialMethods

Main data context partial methods group.

MethodGroup MainDataContextPartialMethods { get; }

Property Value

MethodGroup

MetadataBuilder

Gets data model metadata builder.

IMetadataBuilder? MetadataBuilder { get; }

Property Value

IMetadataBuilder

Model

Gets data model.

DatabaseModel Model { get; }

Property Value

DatabaseModel

NonTableFunctionsClass

Gets class with mapping methods for scalar, aggregate functions and stored procedures.

CodeClass NonTableFunctionsClass { get; }

Property Value

CodeClass

Options

Gets data model scaffold options.

DataModelOptions Options { get; }

Property Value

DataModelOptions

ProcedureContextParameterType

Get type of this context parameter for stored procedures.

IType ProcedureContextParameterType { get; }

Property Value

IType

Schema

Gets current schema model.

SchemaModelBase Schema { get; }

Property Value

SchemaModelBase

SchemasContextRegion

Gets region with addtional schemas code.

RegionBuilder SchemasContextRegion { get; }

Property Value

RegionBuilder

StaticInitializer

Adds static constructor (if not added yet) to main data context class and returns it's body builder.

BlockBuilder StaticInitializer { get; }

Property Value

BlockBuilder

TableFunctionsClass

Gets class with mapping methods for table functions.

CodeClass TableFunctionsClass { get; }

Property Value

CodeClass

Methods

AddAggregateFunctionRegion(string)

Adds named region for aggregate function mappings.

RegionBuilder AddAggregateFunctionRegion(string regionName)

Parameters

regionName string

Region name.

Returns

RegionBuilder

Region builder.

AddFile(string)

Register new file in code model.

FileData AddFile(string fileName)

Parameters

fileName string

File name.

Returns

FileData

Registered file.

AddScalarFunctionRegion(string)

Adds named region for scalar function mappings.

RegionBuilder AddScalarFunctionRegion(string regionName)

Parameters

regionName string

Region name.

Returns

RegionBuilder

Region builder.

AddStoredProcedureRegion(string)

Adds named region for stored procedure mappings.

RegionBuilder AddStoredProcedureRegion(string regionName)

Parameters

regionName string

Region name.

Returns

RegionBuilder

Region builder.

AddTableFunctionRegion(string)

Adds named region for table function mappings.

RegionBuilder AddTableFunctionRegion(string regionName)

Parameters

regionName string

Region name.

Returns

RegionBuilder

Region builder.

GetChildContext(AdditionalSchemaModel)

Gets child schema model generation context. Available only on main context.

IDataModelGenerationContext GetChildContext(AdditionalSchemaModel schema)

Parameters

schema AdditionalSchemaModel

Addtional schema model.

Returns

IDataModelGenerationContext

Schema context.

GetColumnProperty(ColumnModel)

Gets entity property by column model.

CodeProperty GetColumnProperty(ColumnModel model)

Parameters

model ColumnModel

Column model.

Returns

CodeProperty

Column mapping property.

GetEntityAssociationExtensionsGroup(EntityModel)

Gets method group for asociation extension methods for specific entity.

MethodGroup GetEntityAssociationExtensionsGroup(EntityModel entity)

Parameters

entity EntityModel

Entity model.

Returns

MethodGroup

Association extension methods group.

GetEntityAssociationsGroup(EntityModel)

Gets property group for associations in specific entity.

PropertyGroup GetEntityAssociationsGroup(EntityModel entity)

Parameters

entity EntityModel

Entity model.

Returns

PropertyGroup

Association properties group in entity class.

GetEntityBuilder(EntityModel)

Gets registered entity class builder by entity model.

ClassBuilder GetEntityBuilder(EntityModel model)

Parameters

model EntityModel

Entity model.

Returns

ClassBuilder

Entity mapping class builder.

MakeFullyQualifiedRoutineName(SqlObjectName)

Helper to generate fully-qualified procedure or function name.

string MakeFullyQualifiedRoutineName(SqlObjectName routineName)

Parameters

routineName SqlObjectName

Procedure/function object name.

Returns

string

Fully-qualified name of procedure or function.

NormalizeParameterName(string)

Apply identifier normalization to method parameter.

string NormalizeParameterName(string parameterName)

Parameters

parameterName string

Original parameter name.

Returns

string

Normalized parameter name.

RegisterChildContext(AdditionalSchemaModel, IDataModelGenerationContext)

Register child schema model generation context. Available only on main context.

void RegisterChildContext(AdditionalSchemaModel schema, IDataModelGenerationContext context)

Parameters

schema AdditionalSchemaModel

Additional schema model.

context IDataModelGenerationContext

Schema context.

RegisterColumnProperty(ColumnModel, CodeProperty)

Register entity property for column.

void RegisterColumnProperty(ColumnModel model, CodeProperty property)

Parameters

model ColumnModel

Column model.

property CodeProperty

Enity column property.

RegisterEntityBuilder(EntityModel, ClassBuilder)

Register entity class builder for entity model.

void RegisterEntityBuilder(EntityModel model, ClassBuilder builder)

Parameters

model EntityModel

Entity model.

builder ClassBuilder

Entity class builder.

TryGetFile(string, out FileData?)

Tries to find file in code model by name.

bool TryGetFile(string fileName, out FileData? file)

Parameters

fileName string

File name.

file FileData

File model.

Returns

bool

true if file with such name already registered; false otherwise.