Table of Contents

Class Scaffolder

Namespace
LinqToDB.Scaffold
Assembly
linq2db.Tools.dll

Helper class to simplify common scenario of data model generation from database.

public sealed class Scaffolder
Inheritance
Scaffolder
Extension Methods

Constructors

Scaffolder(ILanguageProvider, INameConversionProvider, ScaffoldOptions, ScaffoldInterceptors?)

Creates instance of data model codegerator from database connection.

public Scaffolder(ILanguageProvider languageProvider, INameConversionProvider nameConverter, ScaffoldOptions options, ScaffoldInterceptors? interceptors)

Parameters

languageProvider ILanguageProvider

Language provider to use for data model codegeneration.

nameConverter INameConversionProvider

INameConversionProvider pluralization service implementation.

options ScaffoldOptions

Scaffolding process customization options.

interceptors ScaffoldInterceptors

Optional custom scaffold interceptors.

Properties

Language

Gets language provider, used by current instance.

public ILanguageProvider Language { get; }

Property Value

ILanguageProvider

Methods

GenerateCodeModel(ISqlBuilder, DatabaseModel, IMetadataBuilder?, params ConvertCodeModelVisitor[])

Converts database model to code model (AST).

public CodeFile[] GenerateCodeModel(ISqlBuilder sqlBuilder, DatabaseModel dataModel, IMetadataBuilder? metadataBuilder, params ConvertCodeModelVisitor[] modelConverters)

Parameters

sqlBuilder ISqlBuilder

Database-specific ISqlBuilder instance.

dataModel DatabaseModel

Database model.

metadataBuilder IMetadataBuilder

Data model metadata builder.

modelConverters ConvertCodeModelVisitor[]

Optional AST post-processing converters.

Returns

CodeFile[]

Code model as collection of code file models.

GenerateSourceCode(DatabaseModel, params CodeFile[])

Converts per-file code models (AST) to source code using current language (used by current instance).

public SourceCodeFile[] GenerateSourceCode(DatabaseModel dataModel, params CodeFile[] files)

Parameters

dataModel DatabaseModel

Data model, used for code generation.

files CodeFile[]

Code models.

Returns

SourceCodeFile[]

Source code with file names.

LoadDataModel(ISchemaProvider, ITypeMappingProvider)

Loads database schema into DatabaseModel object.

public DatabaseModel LoadDataModel(ISchemaProvider schemaProvider, ITypeMappingProvider typeMappingsProvider)

Parameters

schemaProvider ISchemaProvider

Database schema provider.

typeMappingsProvider ITypeMappingProvider

Database types mappings provider.

Returns

DatabaseModel

Loaded database model instance.