Class ExpressionEntityTypeSubstitutor
Expression tree visitor to substitute user-defined mapped types with an anonymous or record type.
Inheritance
System.Object
ExpressionEntityTypeSubstitutor
Namespace: Nuqleon.DataModel.CompilerServices
Assembly: Nuqleon.DataModel.CompilerServices.dll
Syntax
public abstract class ExpressionEntityTypeSubstitutor : Object
Constructors
ExpressionEntityTypeSubstitutor(EntityTypeSubstitutor)
Creates the visitor that applies the type substitutor provided to replace entity types.
Declaration
protected ExpressionEntityTypeSubstitutor(EntityTypeSubstitutor substitutor)
Parameters
Type | Name | Description |
---|---|---|
EntityTypeSubstitutor | substitutor | The type substitutor to use. |
Methods
Apply(Expression)
Transforms an expression by replacing entity types using the type substitutor provided in the constructor.
Declaration
public virtual Expression Apply(Expression expression)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.Expression | expression | The expression to transform. |
Returns
Type | Description |
---|---|
System.Linq.Expressions.Expression | An expression with entity types replaced. |
DefineType(RuntimeCompiler, TypeBuilder, IEnumerable<KeyValuePair<String, Type>>)
Define a type using a runtime compiler instance, a type builder, and a set of properties.
Declaration
protected abstract void DefineType(RuntimeCompiler rtc, TypeBuilder builder, IEnumerable<KeyValuePair<string, Type>> properties)
Parameters
Type | Name | Description |
---|---|---|
RuntimeCompiler | rtc | The runtime compiler. |
System.Reflection.Emit.TypeBuilder | builder | The type builder to use for the type. |
System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String, System.Type>> | properties | The properties to add to the type. |
GetTypeBuilder(RuntimeCompiler)
Gets a type builder to later use to define a type.
Declaration
protected abstract TypeBuilder GetTypeBuilder(RuntimeCompiler rtc)
Parameters
Type | Name | Description |
---|---|---|
RuntimeCompiler | rtc | The runtime compiler to get the type builder from. |
Returns
Type | Description |
---|---|
System.Reflection.Emit.TypeBuilder | The type builder. |