Class Scaffolder
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
ILanguageProviderLanguage provider to use for data model codegeneration.
nameConverter
INameConversionProviderINameConversionProvider pluralization service implementation.
options
ScaffoldOptionsScaffolding process customization options.
interceptors
ScaffoldInterceptorsOptional custom scaffold interceptors.
Properties
Language
Gets language provider, used by current instance.
public ILanguageProvider Language { get; }
Property Value
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
ISqlBuilderDatabase-specific ISqlBuilder instance.
dataModel
DatabaseModelDatabase model.
metadataBuilder
IMetadataBuilderData 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
DatabaseModelData 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
ISchemaProviderDatabase schema provider.
typeMappingsProvider
ITypeMappingProviderDatabase types mappings provider.
Returns
- DatabaseModel
Loaded database model instance.