Interface IDataModelGenerationContext
public interface IDataModelGenerationContext
- Extension Methods
Properties
AST
Gets AST builder.
CodeBuilder AST { get; }
Property Value
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
ContextProperties
Gets property group for table access properties in CurrentDataContext class.
PropertyGroup ContextProperties { get; }
Property Value
ContextReference
Code reference to instance of MainDataContext.
ICodeExpression ContextReference { get; }
Property Value
CurrentDataContext
Current data context class builder. For default schema references MainDataContext. For schema context references schema context class builder.
ClassBuilder CurrentDataContext { get; }
Property Value
ExtensionsClass
Gets class with extension methods.
ClassBuilder ExtensionsClass { get; }
Property Value
Files
Gets generated files.
IEnumerable<CodeFile> Files { get; }
Property Value
FindExtensionsGroup
Gets method group for Find extension methods.
MethodGroup FindExtensionsGroup { get; }
Property Value
HasContextMappingSchema
Returns true
if current scaffold generated context mapping schema.
bool HasContextMappingSchema { get; }
Property Value
LanguageProvider
Gets language services provider.
ILanguageProvider LanguageProvider { get; }
Property Value
MainDataContext
Main data context class builder (implements IDataContext).
ClassBuilder MainDataContext { get; }
Property Value
MainDataContextConstructors
Main data context countructors group.
ConstructorGroup MainDataContextConstructors { get; }
Property Value
MainDataContextPartialMethods
Main data context partial methods group.
MethodGroup MainDataContextPartialMethods { get; }
Property Value
MetadataBuilder
Gets data model metadata builder.
IMetadataBuilder? MetadataBuilder { get; }
Property Value
Model
Gets data model.
DatabaseModel Model { get; }
Property Value
NonTableFunctionsClass
Gets class with mapping methods for scalar, aggregate functions and stored procedures.
CodeClass NonTableFunctionsClass { get; }
Property Value
Options
Gets data model scaffold options.
DataModelOptions Options { get; }
Property Value
ProcedureContextParameterType
Get type of this
context parameter for stored procedures.
IType ProcedureContextParameterType { get; }
Property Value
Schema
Gets current schema model.
SchemaModelBase Schema { get; }
Property Value
SchemasContextRegion
Gets region with addtional schemas code.
RegionBuilder SchemasContextRegion { get; }
Property Value
StaticInitializer
Adds static constructor (if not added yet) to main data context class and returns it's body builder.
BlockBuilder StaticInitializer { get; }
Property Value
TableFunctionsClass
Gets class with mapping methods for table functions.
CodeClass TableFunctionsClass { get; }
Property Value
Methods
AddAggregateFunctionRegion(string)
Adds named region for aggregate function mappings.
RegionBuilder AddAggregateFunctionRegion(string regionName)
Parameters
regionName
stringRegion name.
Returns
- RegionBuilder
Region builder.
AddFile(string)
Register new file in code model.
FileData AddFile(string fileName)
Parameters
fileName
stringFile name.
Returns
- FileData
Registered file.
AddScalarFunctionRegion(string)
Adds named region for scalar function mappings.
RegionBuilder AddScalarFunctionRegion(string regionName)
Parameters
regionName
stringRegion name.
Returns
- RegionBuilder
Region builder.
AddStoredProcedureRegion(string)
Adds named region for stored procedure mappings.
RegionBuilder AddStoredProcedureRegion(string regionName)
Parameters
regionName
stringRegion name.
Returns
- RegionBuilder
Region builder.
AddTableFunctionRegion(string)
Adds named region for table function mappings.
RegionBuilder AddTableFunctionRegion(string regionName)
Parameters
regionName
stringRegion name.
Returns
- RegionBuilder
Region builder.
GetChildContext(AdditionalSchemaModel)
Gets child schema model generation context. Available only on main context.
IDataModelGenerationContext GetChildContext(AdditionalSchemaModel schema)
Parameters
schema
AdditionalSchemaModelAddtional schema model.
Returns
- IDataModelGenerationContext
Schema context.
GetColumnProperty(ColumnModel)
Gets entity property by column model.
CodeProperty GetColumnProperty(ColumnModel model)
Parameters
model
ColumnModelColumn model.
Returns
- CodeProperty
Column mapping property.
GetEntityAssociationExtensionsGroup(EntityModel)
Gets method group for asociation extension methods for specific entity.
MethodGroup GetEntityAssociationExtensionsGroup(EntityModel entity)
Parameters
entity
EntityModelEntity model.
Returns
- MethodGroup
Association extension methods group.
GetEntityAssociationsGroup(EntityModel)
Gets property group for associations in specific entity.
PropertyGroup GetEntityAssociationsGroup(EntityModel entity)
Parameters
entity
EntityModelEntity 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
EntityModelEntity model.
Returns
- ClassBuilder
Entity mapping class builder.
MakeFullyQualifiedRoutineName(SqlObjectName)
Helper to generate fully-qualified procedure or function name.
string MakeFullyQualifiedRoutineName(SqlObjectName routineName)
Parameters
routineName
SqlObjectNameProcedure/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
stringOriginal 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
AdditionalSchemaModelAdditional schema model.
context
IDataModelGenerationContextSchema context.
RegisterColumnProperty(ColumnModel, CodeProperty)
Register entity property for column.
void RegisterColumnProperty(ColumnModel model, CodeProperty property)
Parameters
model
ColumnModelColumn model.
property
CodePropertyEnity column property.
RegisterEntityBuilder(EntityModel, ClassBuilder)
Register entity class builder for entity model.
void RegisterEntityBuilder(EntityModel model, ClassBuilder builder)
Parameters
model
EntityModelEntity model.
builder
ClassBuilderEntity class builder.
TryGetFile(string, out FileData?)
Tries to find file in code model by name.
bool TryGetFile(string fileName, out FileData? file)
Parameters
Returns
- bool
true
if file with such name already registered;false
otherwise.