From 537e9ad84f496d75c53d0d2729b7eb466fe734da Mon Sep 17 00:00:00 2001
From: lorcQc <34991704+lorcQc@users.noreply.github.com>
Date: Sat, 16 Sep 2023 14:41:08 -0400
Subject: [PATCH] Add complex property support to migration and relational
model
+ Target .NET 8
---
.../CodeTemplates/EFCore/DbContext.t4 | 2 +-
...sualBasicRuntimeAnnotationCodeGenerator.vb | 14 +
.../Design/Internal/VisualBasicHelper.vb | 6 +-
...sualBasicRuntimeAnnotationCodeGenerator.vb | 409 ++--
...sualBasicRuntimeAnnotationCodeGenerator.vb | 37 +
EFCore.VisualBasic/EFCore.VisualBasic.vbproj | 10 +-
.../Design/VisualBasicSnapshotGenerator.vb | 144 +-
.../Internal/VisualBasicDbContextGenerator.tt | 2 +-
.../Internal/VisualBasicDbContextGenerator.vb | 4 +-
.../VisualBasicEntityTypeGenerator.vb | 2 +-
.../VisualBasicRuntimeModelCodeGenerator.vb | 293 ++-
.../{net6.0 => net8.0}/EFCoreVisualBasic.vb | 0
.../EntityFrameworkCore.VisualBasic.targets | 0
Sandbox/Sandbox.vbproj | 12 +-
.../EFCore.Design.Tests.Shared.csproj | 6 +-
.../Internal/MyJsonGuidReaderWriter.cs | 2 +-
.../EFCore.VisualBasic.Test.vbproj | 24 +-
...ualBasicMigrationOperationGeneratorTest.vb | 3 +-
.../VisualBasicMigrationsGeneratorTests.vb | 179 +-
.../VisualBasicEntityTypeGeneratorTest.vb | 4 +-
...isualBasicRuntimeModelCodeGeneratorTest.vb | 1705 ++++++++++++++---
.../TestUtilities/BuildSource.vb | 11 +-
.../Metadata/RelationalModelTest.vb | 14 +-
23 files changed, 2199 insertions(+), 684 deletions(-)
rename EFCore.VisualBasic/build/{net6.0 => net8.0}/EFCoreVisualBasic.vb (100%)
rename EFCore.VisualBasic/build/{net6.0 => net8.0}/EntityFrameworkCore.VisualBasic.targets (100%)
diff --git a/EFCore.VisualBasic.Templates/templates/ef-templates/CodeTemplates/EFCore/DbContext.t4 b/EFCore.VisualBasic.Templates/templates/ef-templates/CodeTemplates/EFCore/DbContext.t4
index 376dee3..af6c776 100644
--- a/EFCore.VisualBasic.Templates/templates/ef-templates/CodeTemplates/EFCore/DbContext.t4
+++ b/EFCore.VisualBasic.Templates/templates/ef-templates/CodeTemplates/EFCore/DbContext.t4
@@ -82,7 +82,7 @@ Namespace <#= FileNamespaceIdentifier #>
if (!Options.SuppressConnectionStringWarning)
{
#>
- 'TODO /!\ To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
+ 'TODO /!\ To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263.
<#
}
#>
diff --git a/EFCore.VisualBasic/Design/IVisualBasicRuntimeAnnotationCodeGenerator.vb b/EFCore.VisualBasic/Design/IVisualBasicRuntimeAnnotationCodeGenerator.vb
index e88e39b..2652601 100644
--- a/EFCore.VisualBasic/Design/IVisualBasicRuntimeAnnotationCodeGenerator.vb
+++ b/EFCore.VisualBasic/Design/IVisualBasicRuntimeAnnotationCodeGenerator.vb
@@ -24,6 +24,20 @@ Namespace Design
''' Additional parameters used during code generation.
Sub Generate(entityType As IEntityType, parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
+ '''
+ ''' Generates code to create the given annotations.
+ '''
+ ''' The entity type to which the annotations are applied.
+ ''' Additional parameters used during code generation.
+ Sub Generate(complexProperty As IComplexProperty, parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
+
+ '''
+ ''' Generates code to create the given annotations.
+ '''
+ ''' The entity type to which the annotations are applied.
+ ''' Additional parameters used during code generation.
+ Sub Generate(complexType As IComplexType, parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
+
'''
''' Generates code to create the given annotations.
'''
diff --git a/EFCore.VisualBasic/Design/Internal/VisualBasicHelper.vb b/EFCore.VisualBasic/Design/Internal/VisualBasicHelper.vb
index 23fbea1..bf2e295 100644
--- a/EFCore.VisualBasic/Design/Internal/VisualBasicHelper.vb
+++ b/EFCore.VisualBasic/Design/Internal/VisualBasicHelper.vb
@@ -871,7 +871,7 @@ Namespace Design.Internal
builder As StringBuilder,
Optional simple As Boolean = False) As Boolean
- ' Only handle trivially simple cases for `new` and factory methods
+ ' Only handle trivially simple cases for `New` and factory methods
Select Case exp.NodeType
Case ExpressionType.NewArrayInit
@@ -887,7 +887,9 @@ Namespace Design.Internal
Return True
- Case ExpressionType.Convert
+ Case ExpressionType.Convert,
+ ExpressionType.ConvertChecked
+
Dim unaryExpression = DirectCast(exp, UnaryExpression)
If unaryExpression.Method?.Name <> "op_Implicit" Then
diff --git a/EFCore.VisualBasic/Design/RuntimeAnnotationCodeGenerator/RelationalVisualBasicRuntimeAnnotationCodeGenerator.vb b/EFCore.VisualBasic/Design/RuntimeAnnotationCodeGenerator/RelationalVisualBasicRuntimeAnnotationCodeGenerator.vb
index f8bf013..2230aae 100644
--- a/EFCore.VisualBasic/Design/RuntimeAnnotationCodeGenerator/RelationalVisualBasicRuntimeAnnotationCodeGenerator.vb
+++ b/EFCore.VisualBasic/Design/RuntimeAnnotationCodeGenerator/RelationalVisualBasicRuntimeAnnotationCodeGenerator.vb
@@ -99,15 +99,13 @@ Namespace Design.AnnotationCodeGeneratorProvider
Private Sub Create(model As IRelationalModel,
parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
- Dim code = VBCode
Dim mainBuilder = parameters.MainBuilder
mainBuilder.AppendLine("Private Function CreateRelationalModel() As IRelationalModel")
Using mainBuilder.Indent()
-
parameters.Namespaces.Add(GetType(RelationalModel).Namespace)
parameters.Namespaces.Add(GetType(Microsoft.EntityFrameworkCore.RelationalModelExtensions).Namespace)
- Dim relationalModelVariable = code.Identifier("relationalModel", parameters.ScopeVariables, capitalize:=False)
+ Dim relationalModelVariable = VBCode.Identifier("relationalModel", parameters.ScopeVariables, capitalize:=False)
mainBuilder.AppendLine($"Dim {relationalModelVariable} As New RelationalModel({parameters.TargetName})")
@@ -119,159 +117,168 @@ Namespace Design.AnnotationCodeGeneratorProvider
AddNamespace(GetType(List(Of TableMapping)), parameters.Namespaces)
- ' All the mappings below are added in a way that preserves the order
For Each entityType In model.Model.GetEntityTypes()
- Dim entityTypeVariable = code.Identifier(entityType.ShortName(), parameters.ScopeVariables, capitalize:=False)
- parameters.MainBuilder.
- AppendLine().
- AppendLine($"Dim {entityTypeVariable} = FindEntityType({code.Literal(entityType.Name)})")
-
- metadataVariables.Add(entityType, entityTypeVariable)
-
- For Each mapping In entityType.GetDefaultMappings()
- Dim tableMappingsVariable = code.Identifier("defaultTableMappings", parameters.ScopeVariables, capitalize:=False)
- mainBuilder.
- AppendLine().
- AppendLine($"Dim {tableMappingsVariable} As New List(Of TableMappingBase(Of ColumnMappingBase))()").
- Append($"{entityTypeVariable}.SetRuntimeAnnotation(").
- AppendLine($"{code.Literal(RelationalAnnotationNames.DefaultMappings)}, {tableMappingsVariable})")
+ CreateMappings(entityType, declaringVariable:=Nothing, metadataVariables, relationalModelParameters)
+ Next
- Create(mapping, tableMappingsVariable, metadataVariables, relationalModelParameters)
+ For Each table In model.Tables
+ For Each foreignKey In table.ForeignKeyConstraints
+ Create(foreignKey, metadataVariables, parameters.Cloner.WithTargetName(metadataVariables(table)).Clone())
Next
+ Next
- If entityType.GetTableMappings().Any() Then
- Dim tableMappingsVariable = code.Identifier("tableMappings", parameters.ScopeVariables, capitalize:=False)
- mainBuilder.
- AppendLine().
- AppendLine($"Dim {tableMappingsVariable} As New List(Of TableMapping)()").
- Append($"{entityTypeVariable}.SetRuntimeAnnotation(").
- AppendLine($"{code.Literal(RelationalAnnotationNames.TableMappings)}, {tableMappingsVariable})")
-
- For Each mapping In entityType.GetTableMappings()
- Create(mapping, tableMappingsVariable, metadataVariables, relationalModelParameters)
- Next
- End If
-
- If entityType.GetViewMappings().Any() Then
- Dim viewMappingsVariable = code.Identifier("viewMappings", parameters.ScopeVariables, capitalize:=False)
-
- mainBuilder.
- AppendLine().
- AppendLine($"Dim {viewMappingsVariable} As New List(Of ViewMapping)()").
- Append($"{entityTypeVariable}.SetRuntimeAnnotation(").
- AppendLine($"{code.Literal(RelationalAnnotationNames.ViewMappings)}, {viewMappingsVariable})")
-
- For Each mapping In entityType.GetViewMappings()
- Create(mapping, viewMappingsVariable, metadataVariables, relationalModelParameters)
- Next
- End If
-
- If entityType.GetSqlQueryMappings().Any() Then
- Dim sqlQueryMappingsVariable = code.Identifier("sqlQueryMappings", parameters.ScopeVariables, capitalize:=False)
-
- mainBuilder.
- AppendLine().
- AppendLine($"Dim {sqlQueryMappingsVariable} As New List(Of SqlQueryMapping)()").
- Append($"{entityTypeVariable}.SetRuntimeAnnotation(").
- AppendLine($"{code.Literal(RelationalAnnotationNames.SqlQueryMappings)}, {sqlQueryMappingsVariable})")
-
- For Each mapping In entityType.GetSqlQueryMappings()
- Create(mapping, sqlQueryMappingsVariable, metadataVariables, relationalModelParameters)
- Next
- End If
+ For Each dbFunction In model.Model.GetDbFunctions()
+ If Not dbFunction.IsScalar Then Continue For
+ GetOrCreate(dbFunction.StoreFunction, metadataVariables, relationalModelParameters)
+ Next
- If entityType.GetFunctionMappings().Any() Then
- Dim functionMappingsVariable = code.Identifier("functionMappings", parameters.ScopeVariables, capitalize:=False)
+ CreateAnnotations(model,
+ AddressOf Generate,
+ relationalModelParameters)
- mainBuilder.
- AppendLine().
- AppendLine($"Dim {functionMappingsVariable} As New List(Of FunctionMapping)()").
- Append($"{entityTypeVariable}.SetRuntimeAnnotation(").
- AppendLine($"{code.Literal(RelationalAnnotationNames.FunctionMappings)}, {functionMappingsVariable})")
+ mainBuilder.
+ AppendLine($"Return {relationalModelVariable}.MakeReadOnly()")
+ End Using
- For Each mapping In entityType.GetFunctionMappings()
- Create(mapping, functionMappingsVariable, metadataVariables, relationalModelParameters)
- Next
- End If
+ mainBuilder.
+ AppendLine("End Function")
+ End Sub
- If entityType.GetDeleteStoredProcedureMappings().Any() Then
- Dim deleteSprocMappingsVariable = code.Identifier("deleteSprocMappings", parameters.ScopeVariables, capitalize:=False)
+ Private Sub CreateMappings(typeBase As ITypeBase,
+ declaringVariable As String,
+ metadataVariables As Dictionary(Of IAnnotatable, String),
+ parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
- mainBuilder.
- AppendLine().
- AppendLine($"Dim {deleteSprocMappingsVariable} As New List(Of StoredProcedureMapping)()").
- Append($"{entityTypeVariable}.SetRuntimeAnnotation(").
- AppendLine($"{code.Literal(RelationalAnnotationNames.DeleteStoredProcedureMappings)}, {deleteSprocMappingsVariable})")
+ Dim mainBuilder = parameters.MainBuilder
- For Each mapping In entityType.GetDeleteStoredProcedureMappings()
- Create(mapping, deleteSprocMappingsVariable, StoreObjectType.DeleteStoredProcedure, metadataVariables, relationalModelParameters)
- Next
- End If
+ Dim typeBaseVariable = VBCode.Identifier(typeBase.ShortName(), parameters.ScopeVariables, capitalize:=False)
+ metadataVariables.Add(typeBase, typeBaseVariable)
+ If TypeOf typeBase Is IComplexType Then
+ Dim complexType = DirectCast(typeBase, IComplexType)
- If entityType.GetInsertStoredProcedureMappings().Any() Then
- Dim insertSprocMappingsVariable = code.Identifier("insertSprocMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ Append($"Dim {typeBaseVariable} = ").
+ AppendLine($"{declaringVariable}.FindComplexProperty({VBCode.Literal(complexType.ComplexProperty.Name)}).ComplexType")
+ Else
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {typeBaseVariable} = FindEntityType({VBCode.Literal(typeBase.Name)})")
+ End If
- mainBuilder.
- AppendLine().
- AppendLine($"Dim {insertSprocMappingsVariable} As New List(Of StoredProcedureMapping)()").
- Append($"{entityTypeVariable}.SetRuntimeAnnotation(").
- AppendLine($"{code.Literal(RelationalAnnotationNames.InsertStoredProcedureMappings)}, {insertSprocMappingsVariable})")
-
- For Each mapping In entityType.GetInsertStoredProcedureMappings()
- Create(
- mapping,
- insertSprocMappingsVariable,
- StoreObjectType.InsertStoredProcedure,
- metadataVariables,
- relationalModelParameters)
- Next
- End If
+ ' All the mappings below are added in a way that preserves the order
+ For Each mapping In typeBase.GetDefaultMappings()
+ Dim tableMappingsVariable = VBCode.Identifier("defaultTableMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {tableMappingsVariable} As New List(Of TableMappingBase(Of ColumnMappingBase))()").
+ Append($"{typeBaseVariable}.SetRuntimeAnnotation(").
+ AppendLine($"{VBCode.Literal(RelationalAnnotationNames.DefaultMappings)}, {tableMappingsVariable})")
+ Create(mapping, tableMappingsVariable, metadataVariables, parameters)
+ Next
- If entityType.GetUpdateStoredProcedureMappings().Any() Then
- Dim updateSprocMappingsVariable = code.Identifier("updateSprocMappings", parameters.ScopeVariables, capitalize:=False)
+ If typeBase.GetTableMappings().Any() Then
+ Dim tableMappingsVariable = VBCode.Identifier("tableMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {tableMappingsVariable} As New List(Of TableMapping)()").
+ Append($"{typeBaseVariable}.SetRuntimeAnnotation(").
+ AppendLine($"{VBCode.Literal(RelationalAnnotationNames.TableMappings)}, {tableMappingsVariable})")
+ For Each mapping In typeBase.GetTableMappings()
+ Create(mapping, tableMappingsVariable, metadataVariables, parameters)
+ Next
+ End If
- mainBuilder.
- AppendLine().
- AppendLine($"Dim {updateSprocMappingsVariable} As New List(Of StoredProcedureMapping)()").
- Append($"{entityTypeVariable}.SetRuntimeAnnotation(").
- AppendLine($"{code.Literal(RelationalAnnotationNames.UpdateStoredProcedureMappings)}, {updateSprocMappingsVariable})")
-
- For Each mapping In entityType.GetUpdateStoredProcedureMappings()
- Create(
- mapping,
- updateSprocMappingsVariable,
- StoreObjectType.UpdateStoredProcedure,
- metadataVariables,
- relationalModelParameters)
- Next
- End If
+ If typeBase.GetViewMappings().Any() Then
+ Dim viewMappingsVariable = VBCode.Identifier("viewMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {viewMappingsVariable} As New List(Of ViewMapping)()").
+ Append($"{typeBaseVariable}.SetRuntimeAnnotation(").
+ AppendLine($"{VBCode.Literal(RelationalAnnotationNames.ViewMappings)}, {viewMappingsVariable})")
+ For Each mapping In typeBase.GetViewMappings()
+ Create(mapping, viewMappingsVariable, metadataVariables, parameters)
Next
+ End If
- For Each Table In model.Tables
- For Each foreignKey In Table.ForeignKeyConstraints
- Create(foreignKey, metadataVariables, parameters.Cloner.
- WithTargetName(metadataVariables(Table)).
- Clone)
- Next
+ If typeBase.GetSqlQueryMappings().Any() Then
+ Dim sqlQueryMappingsVariable = VBCode.Identifier("sqlQueryMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {sqlQueryMappingsVariable} As New List(Of SqlQueryMapping)()").
+ Append($"{typeBaseVariable}.SetRuntimeAnnotation(").
+ AppendLine($"{VBCode.Literal(RelationalAnnotationNames.SqlQueryMappings)}, {sqlQueryMappingsVariable})")
+ For Each mapping In typeBase.GetSqlQueryMappings()
+ Create(mapping, sqlQueryMappingsVariable, metadataVariables, parameters)
Next
+ End If
- For Each dbFunction In model.Model.GetDbFunctions()
- If Not dbFunction.IsScalar Then
- Continue For
- End If
+ If typeBase.GetFunctionMappings().Any() Then
+ Dim functionMappingsVariable = VBCode.Identifier("functionMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {functionMappingsVariable} As New List(Of FunctionMapping)()").
+ Append($"{typeBaseVariable}.SetRuntimeAnnotation(").
+ AppendLine($"{VBCode.Literal(RelationalAnnotationNames.FunctionMappings)}, {functionMappingsVariable})")
+ For Each mapping In typeBase.GetFunctionMappings()
+ Create(mapping, functionMappingsVariable, metadataVariables, parameters)
+ Next
+ End If
- GetOrCreate(dbFunction.StoreFunction, metadataVariables, relationalModelParameters)
+ If typeBase.GetDeleteStoredProcedureMappings().Any() Then
+ Dim deleteSprocMappingsVariable = VBCode.Identifier("deleteSprocMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {deleteSprocMappingsVariable} As New List(Of StoredProcedureMapping)()").
+ Append($"{typeBaseVariable}.SetRuntimeAnnotation(").
+ AppendLine($"{VBCode.Literal(RelationalAnnotationNames.DeleteStoredProcedureMappings)}, {deleteSprocMappingsVariable})")
+ For Each mapping In typeBase.GetDeleteStoredProcedureMappings()
+ Create(
+ mapping,
+ deleteSprocMappingsVariable,
+ StoreObjectType.DeleteStoredProcedure,
+ metadataVariables,
+ parameters)
Next
+ End If
- CreateAnnotations(
- model,
- AddressOf Generate,
- relationalModelParameters)
+ If typeBase.GetInsertStoredProcedureMappings().Any() Then
+ Dim insertSprocMappingsVariable = VBCode.Identifier("insertSprocMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {insertSprocMappingsVariable} As New List(Of StoredProcedureMapping)()").
+ Append($"{typeBaseVariable}.SetRuntimeAnnotation(").
+ AppendLine($"{VBCode.Literal(RelationalAnnotationNames.InsertStoredProcedureMappings)}, {insertSprocMappingsVariable})")
+ For Each mapping In typeBase.GetInsertStoredProcedureMappings()
+ Create(
+ mapping,
+ insertSprocMappingsVariable,
+ StoreObjectType.InsertStoredProcedure,
+ metadataVariables,
+ parameters)
+ Next
+ End If
- mainBuilder.AppendLine($"Return {relationalModelVariable}.MakeReadOnly()")
- End Using
+ If typeBase.GetUpdateStoredProcedureMappings().Any() Then
+ Dim updateSprocMappingsVariable = VBCode.Identifier("updateSprocMappings", parameters.ScopeVariables, capitalize:=False)
+ mainBuilder.
+ AppendLine().
+ AppendLine($"Dim {updateSprocMappingsVariable} As New List(Of StoredProcedureMapping)()").
+ Append($"{typeBaseVariable}.SetRuntimeAnnotation(").
+ AppendLine($"{VBCode.Literal(RelationalAnnotationNames.UpdateStoredProcedureMappings)}, {updateSprocMappingsVariable})")
+ For Each mapping In typeBase.GetUpdateStoredProcedureMappings()
+ Create(
+ mapping,
+ updateSprocMappingsVariable,
+ StoreObjectType.UpdateStoredProcedure,
+ metadataVariables,
+ parameters)
+ Next
+ End If
- mainBuilder.AppendLine("End Function")
+ For Each complexProperty In typeBase.GetDeclaredComplexProperties()
+ CreateMappings(complexProperty.ComplexType, typeBaseVariable, metadataVariables, parameters)
+ Next
End Sub
'''
@@ -450,15 +457,13 @@ Namespace Design.AnnotationCodeGeneratorProvider
Return sqlQueryVariable
End If
- Dim code = VBCode
-
- sqlQueryVariable = code.Identifier(SqlQuery.Name & "SqlQuery", parameters.ScopeVariables, capitalize:=False)
+ sqlQueryVariable = VBCode.Identifier(SqlQuery.Name & "SqlQuery", parameters.ScopeVariables, capitalize:=False)
metadataVariables.Add(SqlQuery, sqlQueryVariable)
Dim mainBuilder = parameters.MainBuilder
mainBuilder.
- Append($"Dim {sqlQueryVariable} As New SqlQuery({code.Literal(SqlQuery.Name)}, {parameters.TargetName}, ").
- AppendLine($"{code.Literal(SqlQuery.Sql)})")
+ Append($"Dim {sqlQueryVariable} As New SqlQuery({VBCode.Literal(SqlQuery.Name)}, {parameters.TargetName}, ").
+ AppendLine($"{VBCode.Literal(SqlQuery.Sql)})")
Dim sqlQueryParameters = parameters.Cloner.
WithTargetName(sqlQueryVariable).
@@ -473,8 +478,8 @@ Namespace Design.AnnotationCodeGeneratorProvider
sqlQueryParameters)
mainBuilder.
- Append($"{parameters.TargetName}.Views.Add((").
- AppendLine($"{code.Literal(SqlQuery.Name)}, {code.Literal(SqlQuery.Schema)}), {sqlQueryVariable})")
+ Append($"{parameters.TargetName}.Queries.Add(").
+ AppendLine($"{VBCode.Literal(SqlQuery.Name)}, {sqlQueryVariable})")
Return sqlQueryVariable
End Function
@@ -497,10 +502,8 @@ Namespace Design.AnnotationCodeGeneratorProvider
Return functionVariable
End If
- Dim code = VBCode
-
Dim mainDbFunctionVariable = GetOrCreate([function].DbFunctions.First(), metadataVariables, parameters)
- functionVariable = code.Identifier([function].Name & "Function", parameters.ScopeVariables, capitalize:=False)
+ functionVariable = VBCode.Identifier([function].Name & "Function", parameters.ScopeVariables, capitalize:=False)
metadataVariables.Add([function], functionVariable)
Dim mainBuilder = parameters.MainBuilder
@@ -518,14 +521,14 @@ Namespace Design.AnnotationCodeGeneratorProvider
mainBuilder.
AppendLine($"{dbFunctionVariable}.StoreFunction = {functionVariable}").
- AppendLine($"{functionVariable}.DbFunctions.Add({code.Literal(dbFunction.ModelName)}, {dbFunctionVariable})")
+ AppendLine($"{functionVariable}.DbFunctions.Add({VBCode.Literal(dbFunction.ModelName)}, {dbFunctionVariable})")
Next
For Each parameter In [function].Parameters
- Dim parameterVariable = code.Identifier(parameter.Name & "FunctionParameter", parameters.ScopeVariables, capitalize:=False)
+ Dim parameterVariable = VBCode.Identifier(parameter.Name & "FunctionParameter", parameters.ScopeVariables, capitalize:=False)
metadataVariables.Add(parameter, parameterVariable)
- mainBuilder.AppendLine($"Dim {parameterVariable} = {functionVariable}.FindParameter({code.Literal(parameter.Name)})")
+ mainBuilder.AppendLine($"Dim {parameterVariable} = {functionVariable}.FindParameter({VBCode.Literal(parameter.Name)})")
CreateAnnotations(parameter,
AddressOf Generate,
@@ -545,8 +548,8 @@ Namespace Design.AnnotationCodeGeneratorProvider
mainBuilder.
AppendLine($"{parameters.TargetName}.Functions.Add(").
IncrementIndent().
- Append($"({code.Literal([function].Name)}, {code.Literal([function].Schema)}, ").
- AppendLine($"{code.Literal([function].DbFunctions.First().Parameters.Select(Function(p) p.StoreType).ToArray())}),").
+ Append($"({VBCode.Literal([function].Name)}, {VBCode.Literal([function].Schema)}, ").
+ AppendLine($"{VBCode.Literal([function].DbFunctions.First().Parameters.Select(Function(p) p.StoreType).ToArray())}),").
AppendLine($"{functionVariable})").
DecrementIndent()
@@ -1123,8 +1126,8 @@ Namespace Design.AnnotationCodeGeneratorProvider
Dim code = VBCode
Dim mainBuilder = parameters.MainBuilder
- Dim entityType = tableMapping.EntityType
- Dim entityTypeVariable = metadataVariables(entityType)
+ Dim typeBase = tableMapping.TypeBase
+ Dim typeBaseVariable = metadataVariables(TypeBase)
Dim table = tableMapping.Table
Dim tableVariable = GetOrCreate(table, metadataVariables, parameters)
@@ -1133,7 +1136,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
GenerateAddMapping(
tableMapping,
tableVariable,
- entityTypeVariable,
+ typeBaseVariable,
tableMappingsVariable,
tableMappingVariable,
"TableMappingBase(Of ColumnMappingBase)",
@@ -1150,7 +1153,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
mainBuilder.
Append($"RelationalModel.CreateColumnMapping(").
Append($"DirectCast({tableVariable}.FindColumn({code.Literal(columnMapping.Column.Name)}), ColumnBase(Of ColumnMappingBase)), ").
- Append($"{entityTypeVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
+ Append($"{typeBaseVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
Append(tableMappingVariable).AppendLine(")")
Next
End Sub
@@ -1164,15 +1167,15 @@ Namespace Design.AnnotationCodeGeneratorProvider
GenerateSimpleAnnotations(parameters)
End Sub
- Private Sub Create(tableMapping As Microsoft.EntityFrameworkCore.Metadata.ITableMapping,
+ Private Sub Create(tableMapping As ITableMapping,
tableMappingsVariable As String,
metadataVariables As Dictionary(Of IAnnotatable, String),
parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
Dim code = VBCode
Dim mainBuilder = parameters.MainBuilder
- Dim entityType = tableMapping.EntityType
- Dim entityTypeVariable = metadataVariables(entityType)
+ Dim typeBase = tableMapping.TypeBase
+ Dim typeBaseVariable = metadataVariables(TypeBase)
Dim table = tableMapping.Table
Dim tableVariable = GetOrCreate(table, metadataVariables, parameters)
@@ -1182,7 +1185,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
GenerateAddMapping(
tableMapping,
tableVariable,
- entityTypeVariable,
+ typeBaseVariable,
tableMappingsVariable,
tableMappingVariable,
"TableMapping",
@@ -1198,7 +1201,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
For Each columnMapping In tableMapping.ColumnMappings
mainBuilder.
Append($"RelationalModel.CreateColumnMapping({tableVariable}.FindColumn({code.Literal(columnMapping.Column.Name)}), ").
- Append($"{entityTypeVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
+ Append($"{typeBaseVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
Append(tableMappingVariable).AppendLine(")")
Next
End Sub
@@ -1219,8 +1222,8 @@ Namespace Design.AnnotationCodeGeneratorProvider
Dim code = VBCode
Dim mainBuilder = parameters.MainBuilder
- Dim entityType = viewMapping.EntityType
- Dim entityTypeVariable = metadataVariables(entityType)
+ Dim typeBase = viewMapping.TypeBase
+ Dim typeBaseVariable = metadataVariables(TypeBase)
Dim view = viewMapping.View
Dim viewVariable = GetOrCreate(view, metadataVariables, parameters)
@@ -1229,7 +1232,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
GenerateAddMapping(
viewMapping,
viewVariable,
- entityTypeVariable,
+ typeBaseVariable,
viewMappingsVariable,
viewMappingVariable,
"ViewMapping",
@@ -1246,7 +1249,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
mainBuilder.
Append($"RelationalModel.CreateViewColumnMapping({viewVariable}.FindColumn({code.Literal(columnMapping.Column.Name)}), ").
- Append($"{entityTypeVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
+ Append($"{typeBaseVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
Append(viewMappingVariable).AppendLine(")")
Next
End Sub
@@ -1267,8 +1270,8 @@ Namespace Design.AnnotationCodeGeneratorProvider
Dim code = VBCode
Dim mainBuilder = parameters.MainBuilder
- Dim entityType = sqlQueryMapping.EntityType
- Dim entityTypeVariable = metadataVariables(entityType)
+ Dim typeBase = sqlQueryMapping.TypeBase
+ Dim typeBaseVariable = metadataVariables(TypeBase)
Dim sqlQuery = sqlQueryMapping.SqlQuery
Dim sqlQueryVariable = GetOrCreate(sqlQuery, metadataVariables, parameters)
@@ -1277,7 +1280,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
GenerateAddMapping(
sqlQueryMapping,
sqlQueryVariable,
- entityTypeVariable,
+ typeBaseVariable,
sqlQueryMappingsVariable,
sqlQueryMappingVariable,
"SqlQueryMapping",
@@ -1299,7 +1302,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
mainBuilder.
Append($"RelationalModel.CreateSqlQueryColumnMapping({sqlQueryVariable}.FindColumn({code.Literal(columnMapping.Column.Name)}), ").
- Append($"{entityTypeVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
+ Append($"{typeBaseVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
Append(sqlQueryMappingVariable).
AppendLine(")")
Next
@@ -1321,8 +1324,8 @@ Namespace Design.AnnotationCodeGeneratorProvider
Dim code = VBCode
Dim mainBuilder = parameters.MainBuilder
- Dim entityType = functionMapping.EntityType
- Dim entityTypeVariable = metadataVariables(entityType)
+ Dim typeBase = functionMapping.TypeBase
+ Dim typeBaseVariable = metadataVariables(TypeBase)
Dim storeFunction = functionMapping.StoreFunction
Dim functionVariable = GetOrCreate(storeFunction, metadataVariables, parameters)
@@ -1332,7 +1335,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
GenerateAddMapping(
functionMapping,
functionVariable,
- entityTypeVariable,
+ typeBaseVariable,
functionMappingsVariable,
functionMappingVariable,
"FunctionMapping",
@@ -1354,7 +1357,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
For Each columnMapping In functionMapping.ColumnMappings
mainBuilder.
Append($"RelationalModel.CreateFunctionColumnMapping({functionVariable}.FindColumn({code.Literal(columnMapping.Column.Name)}), ").
- Append($"{entityTypeVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
+ Append($"{typeBaseVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
Append(functionMappingVariable).AppendLine(")")
Next
End Sub
@@ -1376,8 +1379,8 @@ Namespace Design.AnnotationCodeGeneratorProvider
Dim code = VBCode
Dim mainBuilder = parameters.MainBuilder
- Dim entityType = sprocMapping.EntityType
- Dim entityTypeVariable = metadataVariables(entityType)
+ Dim typeBase = sprocMapping.TypeBase
+ Dim typeBaseVariable = metadataVariables(typeBase)
Dim storeSproc = sprocMapping.StoreStoredProcedure
Dim storeSprocVariable = GetOrCreate(storeSproc, metadataVariables, parameters)
@@ -1401,12 +1404,12 @@ Namespace Design.AnnotationCodeGeneratorProvider
GenerateAddMapping(
sprocMapping,
storeSprocVariable,
- entityTypeVariable,
+ typeBaseVariable,
sprocMappingsVariable,
sprocMappingVariable,
"StoredProcedureMapping",
parameters,
- $"{sprocSnippet}, {If(tableMappingVariable, "null")}, ")
+ $"{sprocSnippet}, {If(tableMappingVariable, "Nothing")}, ")
If tableMappingVariable IsNot Nothing Then
mainBuilder.
@@ -1424,7 +1427,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
mainBuilder.
Append($"RelationalModel.CreateStoredProcedureParameterMapping({metadataVariables(parameterMapping.StoreParameter)}, ").
Append($"{sprocVariable}.FindParameter({code.Literal(parameterMapping.Parameter.Name)}), ").
- Append($"{entityTypeVariable}.FindProperty({code.Literal(parameterMapping.Property.Name)}), ").
+ Append($"{typeBaseVariable}.FindProperty({code.Literal(parameterMapping.Property.Name)}), ").
Append(sprocMappingVariable).AppendLine(")")
Next
@@ -1432,7 +1435,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
mainBuilder.
Append($"RelationalModel.CreateStoredProcedureResultColumnMapping({metadataVariables(columnMapping.StoreResultColumn)}, ").
Append($"{sprocVariable}.FindResultColumn({code.Literal(columnMapping.ResultColumn.Name)}), ").
- Append($"{entityTypeVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
+ Append($"{typeBaseVariable}.FindProperty({code.Literal(columnMapping.Property.Name)}), ").
Append(sprocMappingVariable).AppendLine(")")
Next
End Sub
@@ -1457,7 +1460,7 @@ Namespace Design.AnnotationCodeGeneratorProvider
Dim code = VBCode
Dim mainBuilder = parameters.MainBuilder
- Dim entityType = tableMapping.EntityType
+ Dim typeBase = tableMapping.TypeBase
mainBuilder.
Append($"Dim {tableMappingVariable} As New {mappingType}({entityTypeVariable}, ").
@@ -1497,23 +1500,26 @@ Namespace Design.AnnotationCodeGeneratorProvider
End If
Dim table = tableMapping.Table
- Dim isOptional = table.IsOptional(entityType)
+ Dim isOptional = table.IsOptional(TypeBase)
mainBuilder.
- AppendLine($"{tableVariable}.AddEntityTypeMapping({tableMappingVariable}, {code.Literal(isOptional)})").
+ AppendLine($"{tableVariable}.AddTypeMapping({tableMappingVariable}, {code.Literal(isOptional)})").
AppendLine($"{tableMappingsVariable}.Add({tableMappingVariable})")
- For Each internalForeignKey In table.GetRowInternalForeignKeys(entityType)
- mainBuilder.
- Append(tableVariable).Append($".AddRowInternalForeignKey({entityTypeVariable}, ").
- AppendLine($"RelationalModel.GetForeignKey(Me,").
- IncrementIndent().
- AppendLine($"{code.Literal(internalForeignKey.DeclaringEntityType.Name)},").
- AppendLine($"{code.Literal(internalForeignKey.Properties.Select(Function(p) p.Name).ToArray())},").
- AppendLine($"{code.Literal(internalForeignKey.PrincipalEntityType.Name)},").
- AppendLine($"{code.Literal(internalForeignKey.PrincipalKey.Properties.Select(Function(p) p.Name).ToArray())}))").
- DecrementIndent()
- Next
+ If TypeOf TypeBase Is IEntityType Then
+ Dim entityType = DirectCast(TypeBase, IEntityType)
+ For Each internalForeignKey In table.GetRowInternalForeignKeys(EntityType)
+ mainBuilder.
+ Append(tableVariable).Append($".AddRowInternalForeignKey({entityTypeVariable}, ").
+ AppendLine($"RelationalModel.GetForeignKey(Me,").
+ IncrementIndent().
+ AppendLine($"{code.Literal(internalForeignKey.DeclaringEntityType.Name)},").
+ AppendLine($"{code.Literal(internalForeignKey.Properties.Select(Function(p) p.Name).ToArray())},").
+ AppendLine($"{code.Literal(internalForeignKey.PrincipalEntityType.Name)},").
+ AppendLine($"{code.Literal(internalForeignKey.PrincipalKey.Properties.Select(Function(p) p.Name).ToArray())}))").
+ DecrementIndent()
+ Next
+ End If
End Sub
Private Sub Create([function] As IDbFunction,
@@ -1868,6 +1874,31 @@ Namespace Design.AnnotationCodeGeneratorProvider
MyBase.Generate(entityType, parameters)
End Sub
+ '''
+ Public Overrides Sub Generate(complexType As IComplexType, parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
+ Dim annotations = parameters.Annotations
+ If parameters.IsRuntime Then
+ annotations.Remove(RelationalAnnotationNames.TableMappings)
+ annotations.Remove(RelationalAnnotationNames.ViewMappings)
+ annotations.Remove(RelationalAnnotationNames.SqlQueryMappings)
+ annotations.Remove(RelationalAnnotationNames.FunctionMappings)
+ annotations.Remove(RelationalAnnotationNames.InsertStoredProcedureMappings)
+ annotations.Remove(RelationalAnnotationNames.DeleteStoredProcedureMappings)
+ annotations.Remove(RelationalAnnotationNames.UpdateStoredProcedureMappings)
+ annotations.Remove(RelationalAnnotationNames.DefaultMappings)
+ Else
+ ' These need to be set explicitly to prevent default values from being generated
+ annotations(RelationalAnnotationNames.TableName) = complexType.GetTableName()
+ annotations(RelationalAnnotationNames.Schema) = complexType.GetSchema()
+ annotations(RelationalAnnotationNames.ViewName) = complexType.GetViewName()
+ annotations(RelationalAnnotationNames.ViewSchema) = complexType.GetViewSchema()
+ annotations(RelationalAnnotationNames.SqlQuery) = complexType.GetSqlQuery()
+ annotations(RelationalAnnotationNames.FunctionName) = complexType.GetFunctionName()
+ End If
+
+ MyBase.Generate(complexType, parameters)
+ End Sub
+
Private Sub Create(fragment As IEntityTypeMappingFragment,
fragmentsVariable As String,
parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
diff --git a/EFCore.VisualBasic/Design/VisualBasicRuntimeAnnotationCodeGenerator.vb b/EFCore.VisualBasic/Design/VisualBasicRuntimeAnnotationCodeGenerator.vb
index 6ae584d..8cb7d2f 100644
--- a/EFCore.VisualBasic/Design/VisualBasicRuntimeAnnotationCodeGenerator.vb
+++ b/EFCore.VisualBasic/Design/VisualBasicRuntimeAnnotationCodeGenerator.vb
@@ -63,6 +63,43 @@ Namespace Design
GenerateSimpleAnnotations(parameters)
End Sub
+ '''
+ Public Overridable Sub Generate(complexProperty As IComplexProperty, parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters) _
+ Implements IVisualBasicRuntimeAnnotationCodeGenerator.Generate
+
+ Dim annotations = parameters.Annotations
+
+ If Not parameters.IsRuntime Then
+ For Each annotation In annotations
+ If CoreAnnotationNames.AllNames.Contains(annotation.Key) AndAlso
+ annotation.Key <> CoreAnnotationNames.DiscriminatorMappingComplete Then
+
+ annotations.Remove(annotation.Key)
+ End If
+ Next
+ End If
+
+ GenerateSimpleAnnotations(parameters)
+ End Sub
+
+ '''
+ Public Overridable Sub Generate(complexType As IComplexType, parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters) _
+ Implements IVisualBasicRuntimeAnnotationCodeGenerator.Generate
+
+ Dim annotations = parameters.Annotations
+ If Not parameters.IsRuntime Then
+ For Each annotation In annotations
+ If CoreAnnotationNames.AllNames.Contains(annotation.Key) AndAlso
+ annotation.Key <> CoreAnnotationNames.DiscriminatorMappingComplete Then
+
+ annotations.Remove(annotation.Key)
+ End If
+ Next
+ End If
+
+ GenerateSimpleAnnotations(parameters)
+ End Sub
+
'''
Public Overridable Sub Generate(prop As IProperty, parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters) _
Implements IVisualBasicRuntimeAnnotationCodeGenerator.Generate
diff --git a/EFCore.VisualBasic/EFCore.VisualBasic.vbproj b/EFCore.VisualBasic/EFCore.VisualBasic.vbproj
index 944857c..4cb16a3 100644
--- a/EFCore.VisualBasic/EFCore.VisualBasic.vbproj
+++ b/EFCore.VisualBasic/EFCore.VisualBasic.vbproj
@@ -1,7 +1,7 @@
- net6.0
+ net8.0
EntityFrameworkCore.VisualBasic
EntityFrameworkCore.VisualBasic
Brice Lambson, et al.
@@ -47,16 +47,16 @@
-
+
all
-
+
all
-
+
all
-
+
all
diff --git a/EFCore.VisualBasic/Migrations/Design/VisualBasicSnapshotGenerator.vb b/EFCore.VisualBasic/Migrations/Design/VisualBasicSnapshotGenerator.vb
index 5de3cbe..07647ff 100644
--- a/EFCore.VisualBasic/Migrations/Design/VisualBasicSnapshotGenerator.vb
+++ b/EFCore.VisualBasic/Migrations/Design/VisualBasicSnapshotGenerator.vb
@@ -24,7 +24,16 @@ Namespace Migrations.Design
Public Class VisualBasicSnapshotGenerator
Private Shared ReadOnly HasAnnotationMethodInfo As MethodInfo =
- GetType(ModelBuilder).GetRuntimeMethod(NameOf(ModelBuilder.HasAnnotation), {GetType(String), GetType(String)})
+ GetType(ModelBuilder).GetRuntimeMethod(NameOf(ModelBuilder.HasAnnotation),
+ {GetType(String), GetType(String)})
+
+ Private Shared ReadOnly HasPropertyAnnotationMethodInfo As MethodInfo =
+ GetType(ComplexPropertyBuilder).GetRuntimeMethod(NameOf(ComplexPropertyBuilder.HasPropertyAnnotation),
+ {GetType(String), GetType(String)})
+
+ Private Shared ReadOnly HasTypeAnnotationMethodInfo As MethodInfo =
+ GetType(ComplexPropertyBuilder).GetRuntimeMethod(NameOf(ComplexPropertyBuilder.HasTypeAnnotation),
+ {GetType(String), GetType(String)})
'''
''' Initializes a New instance of the class.
@@ -101,7 +110,6 @@ Namespace Migrations.Design
NotNull(entityTypes, NameOf(entityTypes))
NotNull(stringBuilder, NameOf(stringBuilder))
-
Dim nonOwnedTypes = entityTypes.Where(Function(e) e.FindOwnership() Is Nothing).ToList()
For Each entityType In nonOwnedTypes
stringBuilder.AppendLine()
@@ -128,14 +136,14 @@ Namespace Migrations.Design
'''
''' Generates code for an .
'''
- ''' The name of the builder variable.
+ ''' The name of the builder variable.
''' The entity type.
''' The builder code Is added to.
- Protected Overridable Sub GenerateEntityType(modelBuilderName As String,
+ Protected Overridable Sub GenerateEntityType(builderName As String,
entityType As IEntityType,
stringBuilder As IndentedStringBuilder)
- NotEmpty(modelBuilderName, NameOf(modelBuilderName))
+ NotEmpty(builderName, NameOf(builderName))
NotNull(entityType, NameOf(entityType))
NotNull(stringBuilder, NameOf(stringBuilder))
@@ -154,10 +162,10 @@ Namespace Migrations.Design
entityTypeName = entityType.ClrType.DisplayName()
End If
- Dim entityTypeBuilderName = GenerateEntityTypeBuilderName(modelBuilderName)
+ Dim entityTypeBuilderName = GenerateNestedBuilderName(builderName)
stringBuilder.
- Append(modelBuilderName).
+ Append(builderName).
Append(If(ownerNavigation IsNot Nothing, If(ownership.IsUnique, ".OwnsOne(", ".OwnsMany("), ".Entity(")).
Append(VBCode.Literal(entityTypeName))
@@ -181,6 +189,8 @@ Namespace Migrations.Design
GenerateProperties(entityTypeBuilderName, entityType.GetDeclaredProperties(), stringBuilder)
+ GenerateComplexProperties(entityTypeBuilderName, entityType.GetDeclaredComplexProperties(), stringBuilder)
+
GenerateKeys(
entityTypeBuilderName,
entityType.GetDeclaredKeys(),
@@ -206,20 +216,6 @@ Namespace Migrations.Design
End Using
End Sub
- Private Function GenerateEntityTypeBuilderName(modelBuilderName As String) As String
- If modelBuilderName.StartsWith("b", StringComparison.Ordinal) Then
- Dim counter = 1
- If modelBuilderName.Length > 1 AndAlso
- Integer.TryParse(modelBuilderName.AsSpan(1, modelBuilderName.Length - 1), counter) Then
- counter += 1
- End If
-
- Return "b" & If(counter = 0, "", counter.ToString())
- End If
-
- Return "b"
- End Function
-
'''
''' Generates code for owned entity types.
'''
@@ -583,7 +579,7 @@ Namespace Migrations.Design
annotations(RelationalAnnotationNames.DefaultValue) = New Annotation(
RelationalAnnotationNames.DefaultValue,
- ValueConverter.ConvertToProvider(defaultValue))
+ valueConverter.ConvertToProvider(defaultValue))
End If
GenerateAnnotations(propertyBuilderName, [property], stringBuilder, annotations, inChainedCall:=True)
@@ -594,6 +590,100 @@ Namespace Migrations.Design
Return If([property].GetValueConverter(), t?.Converter)
End Function
+ '''
+ ''' Generates code for objects.
+ '''
+ ''' The name of the builder variable.
+ ''' The properties.
+ ''' The builder code Is added to.
+ Protected Overridable Sub GenerateComplexProperties(typeBuilderName As String,
+ properties As IEnumerable(Of IComplexProperty),
+ stringBuilder As IndentedStringBuilder)
+ For Each [property] In properties
+ GenerateComplexProperty(typeBuilderName, [property], stringBuilder)
+ Next
+ End Sub
+
+ '''
+ ''' Generates code for an .
+ '''
+ ''' The name of the builder variable.
+ ''' The entity type.
+ ''' The builder code Is added to.
+ Protected Overridable Sub GenerateComplexProperty(builderName As String,
+ complexProperty As IComplexProperty,
+ stringBuilder As IndentedStringBuilder)
+
+ Dim ComplexType = complexProperty.ComplexType
+ Dim complexTypeBuilderName = GenerateNestedBuilderName(builderName)
+
+ stringBuilder.
+ AppendLine().
+ Append(builderName).
+ Append($".ComplexProperty(Of {VBCode.Reference(Model.DefaultPropertyBagType)})(").
+ AppendLine($"{VBCode.Literal(complexProperty.Name)}, {VBCode.Literal(ComplexType.Name)},")
+
+ Using stringBuilder.Indent()
+ stringBuilder.
+ AppendLine($"Sub({complexTypeBuilderName})")
+
+ Using stringBuilder.Indent()
+ If complexProperty.IsNullable <> complexProperty.ClrType.IsNullableType() Then
+ stringBuilder.
+ Append(complexTypeBuilderName).
+ AppendLine(".IsRequired()").
+ AppendLine()
+ End If
+
+ GenerateProperties(complexTypeBuilderName, ComplexType.GetDeclaredProperties(), stringBuilder)
+
+ GenerateComplexProperties(complexTypeBuilderName, ComplexType.GetDeclaredComplexProperties(), stringBuilder)
+
+ GenerateComplexPropertyAnnotations(complexTypeBuilderName, complexProperty, stringBuilder)
+ End Using
+
+ stringBuilder.
+ AppendLine("End Sub)")
+ End Using
+ End Sub
+
+ Private Shared Function GenerateNestedBuilderName(builderName As String) As String
+ If builderName.StartsWith("b", StringComparison.Ordinal) Then
+ Dim counter = 1
+ If builderName.Length > 1 AndAlso Integer.TryParse(builderName.AsSpan(1), counter) Then
+ counter += 1
+ End If
+
+ Return "b" & If(counter = 0, "", counter.ToString())
+ End If
+
+ Return "b"
+ End Function
+
+ '''
+ ''' Generates code for the annotations on an .
+ '''
+ ''' The name of the builder variable.
+ ''' The property.
+ ''' The builder code Is added to.
+ Protected Overridable Sub GenerateComplexPropertyAnnotations(propertyBuilderName As String,
+ [property] As IComplexProperty,
+ stringBuilder As IndentedStringBuilder)
+
+ Dim propertyAnnotations = AnnotationCodeGenerator.
+ FilterIgnoredAnnotations([property].GetAnnotations()).
+ ToDictionary(Function(a) a.Name, Function(a) a)
+
+ Dim typeAnnotations = AnnotationCodeGenerator.
+ FilterIgnoredAnnotations([property].ComplexType.GetAnnotations()).
+ ToDictionary(Function(a) a.Name, Function(a) a)
+
+ GenerateAnnotations(propertyBuilderName, [property], stringBuilder, propertyAnnotations,
+ inChainedCall:=False, hasAnnotationMethodInfo:=HasPropertyAnnotationMethodInfo)
+
+ GenerateAnnotations(propertyBuilderName, [property], stringBuilder, typeAnnotations,
+ inChainedCall:=False, hasAnnotationMethodInfo:=HasTypeAnnotationMethodInfo)
+ End Sub
'''
''' Generates code for objects.
@@ -1035,7 +1125,7 @@ Namespace Migrations.Design
End Using
End If
- stringBuilder.AppendLine(")"c)
+ stringBuilder.AppendLine(")"c)
End Sub
Private Sub GenerateSplitTableMapping(entityTypeBuilderName As String,
@@ -1828,7 +1918,8 @@ Namespace Migrations.Design
stringBuilder As IndentedStringBuilder,
annotations As Dictionary(Of String, IAnnotation),
inChainedCall As Boolean,
- Optional leadingNewline As Boolean = True)
+ Optional leadingNewline As Boolean = True,
+ Optional hasAnnotationMethodInfo As MethodInfo = Nothing)
Dim fluentApiCalls = AnnotationCodeGenerator.GenerateFluentApiCalls(annotatable, annotations)
@@ -1849,7 +1940,10 @@ Namespace Migrations.Design
' Append remaining raw annotations which did Not get generated as Fluent API calls
For Each annotation In annotations.Values.OrderBy(Function(a) a.Name)
- Dim c = New MethodCallCodeFragment(HasAnnotationMethodInfo, annotation.Name, annotation.Value)
+ Dim c As New MethodCallCodeFragment(If(hasAnnotationMethodInfo, VisualBasicSnapshotGenerator.HasAnnotationMethodInfo),
+ annotation.Name,
+ annotation.Value)
+
chainedCall = If(chainedCall Is Nothing, c, chainedCall.Chain(c))
Next
diff --git a/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicDbContextGenerator.tt b/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicDbContextGenerator.tt
index 994ca39..c63582b 100644
--- a/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicDbContextGenerator.tt
+++ b/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicDbContextGenerator.tt
@@ -72,7 +72,7 @@ Namespace <#= FileNamespaceIdentifier #>
<#
If Not Options.SuppressConnectionStringWarning Then
#>
- 'TODO /!\ To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
+ 'TODO /!\ To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263.
<#
End If
#>
diff --git a/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicDbContextGenerator.vb b/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicDbContextGenerator.vb
index 6bc282a..93fc187 100644
--- a/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicDbContextGenerator.vb
+++ b/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicDbContextGenerator.vb
@@ -93,7 +93,7 @@ Namespace Scaffolding.Internal
"tion string, you should move it out of source code. You can avoid scaffolding th"& _
"e connection string by using the Name= syntax to read it from configuration - se"& _
"e https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing "& _
- "connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263."&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10))
+ "connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263."&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10))
End If
@@ -560,7 +560,7 @@ End Sub
'''
'''The string builder that generation-time code is using to assemble generated output
'''
- Protected Property GenerationEnvironment() As System.Text.StringBuilder
+ Public Property GenerationEnvironment() As System.Text.StringBuilder
Get
If (Me.generationEnvironmentField Is Nothing) Then
Me.generationEnvironmentField = New Global.System.Text.StringBuilder()
diff --git a/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicEntityTypeGenerator.vb b/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicEntityTypeGenerator.vb
index 4807a85..404b446 100644
--- a/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicEntityTypeGenerator.vb
+++ b/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicEntityTypeGenerator.vb
@@ -357,7 +357,7 @@ End Sub
'''
'''The string builder that generation-time code is using to assemble generated output
'''
- Protected Property GenerationEnvironment() As System.Text.StringBuilder
+ Public Property GenerationEnvironment() As System.Text.StringBuilder
Get
If (Me.generationEnvironmentField Is Nothing) Then
Me.generationEnvironmentField = New Global.System.Text.StringBuilder()
diff --git a/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicRuntimeModelCodeGenerator.vb b/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicRuntimeModelCodeGenerator.vb
index 7eaf926..eea89fe 100644
--- a/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicRuntimeModelCodeGenerator.vb
+++ b/EFCore.VisualBasic/Scaffolding/Internal/VisualBasicRuntimeModelCodeGenerator.vb
@@ -488,6 +488,10 @@ $" Dim model As New {className}()
Using mainBuilder.Indent()
CreateEntityType(entityType, mainBuilder, methodBuilder, namespaces, className)
+ For Each complexProperty In entityType.GetDeclaredComplexProperties()
+ CreateComplexProperty(complexProperty, mainBuilder, methodBuilder, namespaces, className)
+ Next
+
Dim foreignKeyNumber = 1
For Each foreignKey As IForeignKey In entityType.GetDeclaredForeignKeys()
CreateForeignKey(foreignKey, foreignKeyNumber, mainBuilder, methodBuilder, namespaces, className)
@@ -556,6 +560,16 @@ $" Dim model As New {className}()
Create(prop, parameters)
Next
+ For Each complexProperty In entityType.GetDeclaredComplexProperties()
+ mainBuilder.
+ Append(_code.Identifier(complexProperty.Name, capitalize:=True)).
+ Append("ComplexProperty").
+ Append(".Create").
+ Append("(").
+ Append(entityTypeVariable).
+ AppendLine(")")
+ Next
+
For Each aKey In entityType.GetDeclaredKeys()
Create(aKey, propertyVariables, parameters)
Next
@@ -678,61 +692,77 @@ $" Dim model As New {className}()
DecrementIndent()
End Sub
- Private Sub Create(prop As IProperty,
+ Private Sub Create([property] As IProperty,
propertyVariables As Dictionary(Of IProperty, String),
parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
- Dim valueGeneratorFactoryType = TryCast(prop(CoreAnnotationNames.ValueGeneratorFactoryType), Type)
+ Dim variableName = _code.Identifier([property].Name, parameters.ScopeVariables, capitalize:=False)
+ propertyVariables([property]) = variableName
+
+ Create([property], variableName, propertyVariables, parameters)
+
+ CreateAnnotations([property],
+ AddressOf _annotationCodeGenerator.Generate,
+ parameters.Cloner.
+ WithTargetName(variableName).
+ Clone)
+
+ parameters.MainBuilder.AppendLine()
+ End Sub
+
+ Private Sub Create([property] As IProperty,
+ variableName As String,
+ propertyVariables As Dictionary(Of IProperty, String),
+ parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
+
+ Dim valueGeneratorFactoryType = TryCast([property](CoreAnnotationNames.ValueGeneratorFactoryType), Type)
If valueGeneratorFactoryType Is Nothing AndAlso
- prop.GetValueGeneratorFactory() IsNot Nothing Then
+ [property].GetValueGeneratorFactory() IsNot Nothing Then
Throw New InvalidOperationException(
DesignStrings.CompiledModelValueGenerator(
- prop.DeclaringEntityType.ShortName(), prop.Name, NameOf(PropertyBuilder.HasValueGeneratorFactory)))
+ [property].DeclaringType.ShortName(), [property].Name, NameOf(PropertyBuilder.HasValueGeneratorFactory)))
End If
- Dim valueComparerType = TryCast(prop(CoreAnnotationNames.ValueComparerType), Type)
+ Dim valueComparerType = TryCast([property](CoreAnnotationNames.ValueComparerType), Type)
If valueComparerType Is Nothing AndAlso
- prop(CoreAnnotationNames.ValueComparer) IsNot Nothing Then
+ [property](CoreAnnotationNames.ValueComparer) IsNot Nothing Then
Throw New InvalidOperationException(
DesignStrings.CompiledModelValueComparer(
- prop.DeclaringEntityType.ShortName(), prop.Name, NameOf(PropertyBuilder.HasConversion)))
+ [property].DeclaringType.ShortName(), [property].Name, NameOf(PropertyBuilder.HasConversion)))
End If
- Dim providerValueComparerType = TryCast(prop(CoreAnnotationNames.ProviderValueComparerType), Type)
+ Dim providerValueComparerType = TryCast([property](CoreAnnotationNames.ProviderValueComparerType), Type)
If providerValueComparerType Is Nothing AndAlso
- prop(CoreAnnotationNames.ProviderValueComparer) IsNot Nothing Then
+ [property](CoreAnnotationNames.ProviderValueComparer) IsNot Nothing Then
Throw New InvalidOperationException(
DesignStrings.CompiledModelValueComparer(
- prop.DeclaringEntityType.ShortName(), prop.Name, NameOf(PropertyBuilder.HasConversion)))
+ [property].DeclaringType.ShortName(), [property].Name, NameOf(PropertyBuilder.HasConversion)))
End If
- Dim valueConverterType = GetValueConverterType(prop)
+ Dim valueConverterType = GetValueConverterType([property])
If valueConverterType Is Nothing AndAlso
- prop.GetValueConverter() IsNot Nothing Then
+ [property].GetValueConverter() IsNot Nothing Then
Throw New InvalidOperationException(
DesignStrings.CompiledModelValueConverter(
- prop.DeclaringEntityType.ShortName(), prop.Name, NameOf(PropertyBuilder.HasConversion)))
+ [property].DeclaringType.ShortName(), [property].Name, NameOf(PropertyBuilder.HasConversion)))
End If
- If TypeOf prop Is IConventionProperty Then
- Dim conventionProperty = DirectCast(prop, IConventionProperty)
+ If TypeOf [property] Is IConventionProperty Then
+ Dim conventionProperty = DirectCast([property], IConventionProperty)
If conventionProperty.GetTypeMappingConfigurationSource() IsNot Nothing Then
Throw New InvalidOperationException(
DesignStrings.CompiledModelTypeMapping(
- prop.DeclaringEntityType.ShortName(), prop.Name, "Customize()", parameters.ClassName))
+ [property].DeclaringType.ShortName(), [property].Name, "Customize()", parameters.ClassName))
End If
End If
- Dim variableName = _code.Identifier(prop.Name, parameters.ScopeVariables, capitalize:=False)
- propertyVariables(prop) = variableName
-
Dim mainBuilder = parameters.MainBuilder
mainBuilder.
@@ -742,74 +772,74 @@ $" Dim model As New {className}()
Append(parameters.TargetName).
AppendLine(".AddProperty(").
IncrementIndent().
- Append(_code.Literal(prop.Name))
+ Append(_code.Literal([property].Name))
- PropertyBaseParameters(prop, parameters)
+ PropertyBaseParameters([property], parameters)
- If prop.IsNullable Then
+ If [property].IsNullable Then
mainBuilder.
AppendLine(","c).
Append("nullable:=").
Append(_code.Literal(True))
End If
- If prop.IsConcurrencyToken Then
+ If [property].IsConcurrencyToken Then
mainBuilder.
AppendLine(","c).
Append("concurrencyToken:=").
Append(_code.Literal(True))
End If
- If prop.ValueGenerated <> ValueGenerated.Never Then
+ If [property].ValueGenerated <> ValueGenerated.Never Then
mainBuilder.
AppendLine(","c).
Append("valueGenerated:=").
- Append(_code.Literal(CType(prop.ValueGenerated, [Enum])))
+ Append(_code.Literal(CType([property].ValueGenerated, [Enum])))
End If
- If prop.GetBeforeSaveBehavior() <> PropertySaveBehavior.Save Then
+ If [property].GetBeforeSaveBehavior() <> PropertySaveBehavior.Save Then
mainBuilder.
AppendLine(","c).
Append("beforeSaveBehavior:=").
- Append(_code.Literal(CType(prop.GetBeforeSaveBehavior(), [Enum])))
+ Append(_code.Literal(CType([property].GetBeforeSaveBehavior(), [Enum])))
End If
- If prop.GetAfterSaveBehavior() <> PropertySaveBehavior.Save Then
+ If [property].GetAfterSaveBehavior() <> PropertySaveBehavior.Save Then
mainBuilder.
AppendLine(","c).
Append("afterSaveBehavior:=").
- Append(_code.Literal(CType(prop.GetAfterSaveBehavior(), [Enum])))
+ Append(_code.Literal(CType([property].GetAfterSaveBehavior(), [Enum])))
End If
- If prop.GetMaxLength().HasValue Then
+ If [property].GetMaxLength().HasValue Then
mainBuilder.
AppendLine(","c).
Append("maxLength:=").
- Append(_code.Literal(prop.GetMaxLength()))
+ Append(_code.Literal([property].GetMaxLength()))
End If
- If prop.IsUnicode().HasValue Then
+ If [property].IsUnicode().HasValue Then
mainBuilder.
AppendLine(","c).
Append("unicode:=").
- Append(_code.Literal(prop.IsUnicode()))
+ Append(_code.Literal([property].IsUnicode()))
End If
- If prop.GetPrecision().HasValue Then
+ If [property].GetPrecision().HasValue Then
mainBuilder.
AppendLine(","c).
Append("precision:=").
- Append(_code.Literal(prop.GetPrecision()))
+ Append(_code.Literal([property].GetPrecision()))
End If
- If prop.GetScale().HasValue Then
+ If [property].GetScale().HasValue Then
mainBuilder.
AppendLine(","c).
Append("scale:=").
- Append(_code.Literal(prop.GetScale()))
+ Append(_code.Literal([property].GetScale()))
End If
- Dim providerClrType = prop.GetProviderClrType()
+ Dim providerClrType = [property].GetProviderClrType()
If providerClrType IsNot Nothing Then
AddNamespace(providerClrType, parameters.Namespaces)
@@ -860,7 +890,7 @@ $" Dim model As New {className}()
Append("()")
End If
- Dim jsonValueReaderWriterType = DirectCast(prop(CoreAnnotationNames.JsonValueReaderWriterType), Type)
+ Dim jsonValueReaderWriterType = DirectCast([property](CoreAnnotationNames.JsonValueReaderWriterType), Type)
If jsonValueReaderWriterType IsNot Nothing Then
AddNamespace(jsonValueReaderWriterType, parameters.Namespaces)
@@ -884,7 +914,7 @@ $" Dim model As New {className}()
End If
End If
- Dim sentinel = prop.Sentinel
+ Dim sentinel = [property].Sentinel
If sentinel IsNot Nothing Then
mainBuilder.AppendLine(","c).
Append("sentinel:=").
@@ -894,25 +924,16 @@ $" Dim model As New {className}()
mainBuilder.
AppendLine(")"c).
DecrementIndent()
-
- CreateAnnotations(prop,
- AddressOf _annotationCodeGenerator.Generate,
- parameters.Cloner.
- WithTargetName(variableName).
- Clone())
-
- mainBuilder.
- AppendLine()
End Sub
- Private Shared Function GetValueConverterType(prop As IProperty) As Type
- Dim annotation = prop.FindAnnotation(CoreAnnotationNames.ValueConverterType)
+ Private Shared Function GetValueConverterType([property] As IProperty) As Type
+ Dim annotation = [property].FindAnnotation(CoreAnnotationNames.ValueConverterType)
If annotation IsNot Nothing Then
Return DirectCast(annotation.Value, Type)
End If
- Dim principalProperty = prop
+ Dim principalProperty = [property]
Dim i = 0
While i < ForeignKey.LongestFkChainAllowedLength
@@ -921,7 +942,7 @@ $" Dim model As New {className}()
For propertyIndex = 0 To foreignKey.Properties.Count - 1
If principalProperty Is foreignKey.Properties(propertyIndex) Then
Dim newPrincipalProperty = foreignKey.PrincipalKey.Properties(propertyIndex)
- If newPrincipalProperty Is prop OrElse
+ If newPrincipalProperty Is [property] OrElse
newPrincipalProperty Is principalProperty Then
Exit For
@@ -948,7 +969,7 @@ $" Dim model As New {className}()
If i = ForeignKey.LongestFkChainAllowedLength Then
Throw New InvalidOperationException(
CoreStrings.RelationshipCycle(
- prop.DeclaringEntityType.DisplayName(), prop.Name, "ValueConverterType"))
+ [property].DeclaringType.DisplayName(), [property].Name, "ValueConverterType"))
Else
Return Nothing
End If
@@ -1059,10 +1080,10 @@ $" Dim model As New {className}()
mainBuilder.Append("}"c)
End Sub
- Private Sub Create(prop As IServiceProperty,
+ Private Sub Create([property] As IServiceProperty,
parameters As VisualBasicRuntimeAnnotationCodeGeneratorParameters)
- Dim variableName = _code.Identifier(prop.Name, parameters.ScopeVariables, capitalize:=False)
+ Dim variableName = _code.Identifier([property].Name, parameters.ScopeVariables, capitalize:=False)
Dim mainBuilder = parameters.MainBuilder
@@ -1073,19 +1094,20 @@ $" Dim model As New {className}()
Append(parameters.TargetName).
AppendLine(".AddServiceProperty(").
IncrementIndent().
- Append(_code.Literal(prop.Name))
+ Append(_code.Literal([property].Name))
- PropertyBaseParameters(prop, parameters, skipType:=True)
+ PropertyBaseParameters([property], parameters, skipType:=True)
+ AddNamespace([property].ClrType, parameters.Namespaces)
mainBuilder.
AppendLine(",").
- Append("serviceType:=GetType(" & prop.ClrType.DisplayName(fullName:=True, compilable:=True) & ")")
+ Append("serviceType:=GetType(" & _code.Reference([property].ClrType) & ")")
mainBuilder.
AppendLine(")"c).
DecrementIndent()
- CreateAnnotations(prop,
+ CreateAnnotations([property],
AddressOf _annotationCodeGenerator.Generate,
parameters.Cloner.
WithTargetName(variableName).
@@ -1179,6 +1201,157 @@ $" Dim model As New {className}()
AppendLine()
End Sub
+ Private Sub CreateComplexProperty(complexProperty As IComplexProperty,
+ mainBuilder As IndentedStringBuilder,
+ methodBuilder As IndentedStringBuilder,
+ namespaces As SortedSet(Of String),
+ topClassName As String)
+
+ mainBuilder.
+ AppendLine().
+ Append("Private Class ").
+ Append(_code.Identifier(complexProperty.Name, capitalize:=True)).
+ AppendLine("ComplexProperty")
+
+ Dim complexType = complexProperty.ComplexType
+ Using mainBuilder.Indent()
+ Dim declaringTypeVariable = "declaringType"
+ mainBuilder.
+ Append("Public Shared Function Create(").
+ Append(declaringTypeVariable).
+ Append(" As ").
+ Append(If(TypeOf complexProperty.DeclaringType Is IEntityType, "RuntimeEntityType", "RuntimeComplexType")).
+ AppendLine(") As RuntimeComplexProperty")
+
+ Using mainBuilder.Indent()
+ Const complexPropertyVariable = "complexProperty"
+ Const complexTypeVariable = "complexType"
+
+ Dim variables As New HashSet(Of String) From {
+ declaringTypeVariable,
+ complexPropertyVariable,
+ complexTypeVariable
+ }
+
+ mainBuilder.
+ Append("Dim ").
+ Append(complexPropertyVariable).
+ Append(" = ").
+ Append(declaringTypeVariable).
+ Append(".AddComplexProperty(").
+ IncrementIndent().
+ Append(_code.Literal(complexProperty.Name)).
+ AppendLine(",").
+ Append(_code.Literal(complexProperty.ClrType)).
+ AppendLine(",").
+ Append(_code.Literal(complexType.Name)).
+ AppendLine(",").
+ Append(_code.Literal(complexType.ClrType))
+
+ AddNamespace(complexProperty.ClrType, namespaces)
+ AddNamespace(complexType.ClrType, namespaces)
+
+ Dim parameters As New VisualBasicRuntimeAnnotationCodeGeneratorParameters(
+ declaringTypeVariable,
+ topClassName,
+ mainBuilder,
+ methodBuilder,
+ namespaces,
+ variables)
+
+ PropertyBaseParameters(complexProperty, parameters, skipType:=True)
+
+ If complexProperty.IsNullable Then
+ mainBuilder.
+ AppendLine(",").
+ Append("nullable:=").
+ Append(_code.Literal(True))
+ End If
+
+ If complexProperty.IsCollection Then
+ mainBuilder.
+ AppendLine(",").
+ Append("collection:=").
+ Append(_code.Literal(True))
+ End If
+
+ Dim changeTrackingStrategy = complexType.GetChangeTrackingStrategy()
+ If changeTrackingStrategy <> ChangeTrackingStrategy.Snapshot Then
+ namespaces.Add(GetType(ChangeTrackingStrategy).Namespace)
+
+ mainBuilder.AppendLine(",").
+ Append("changeTrackingStrategy:=").
+ Append(_code.Literal(DirectCast(changeTrackingStrategy, [Enum])))
+ End If
+
+ Dim indexerPropertyInfo = complexType.FindIndexerPropertyInfo()
+ If indexerPropertyInfo IsNot Nothing Then
+ mainBuilder.
+ AppendLine(",").
+ Append("indexerPropertyInfo:=RuntimeEntityType.FindIndexerProperty(").
+ Append(_code.Literal(complexType.ClrType)).
+ Append(")")
+ End If
+
+ If complexType.IsPropertyBag Then
+ mainBuilder.AppendLine(",").
+ Append("propertyBag:=").
+ Append(_code.Literal(True))
+ End If
+
+ mainBuilder.
+ AppendLine(")").
+ AppendLine().
+ DecrementIndent()
+
+ mainBuilder.
+ Append("Dim ").Append(complexTypeVariable).Append(" = ").
+ Append(complexPropertyVariable).AppendLine(".ComplexType")
+
+ Dim complexTypeParameters = parameters.Cloner.WithTargetName(complexTypeVariable).Clone
+ Dim propertyVariables As New Dictionary(Of IProperty, String)()
+
+ For Each [property] In complexType.GetProperties()
+ Create([property], propertyVariables, complexTypeParameters)
+ Next
+
+ For Each nestedComplexProperty In complexType.GetComplexProperties()
+ mainBuilder.
+ Append(_code.Identifier(nestedComplexProperty.Name, capitalize:=True)).
+ Append("ComplexProperty").
+ Append(".Create").
+ Append("(").
+ Append(complexTypeVariable).
+ AppendLine(")")
+ Next
+
+ CreateAnnotations(
+ complexType,
+ AddressOf _annotationCodeGenerator.Generate,
+ complexTypeParameters)
+
+ CreateAnnotations(
+ complexProperty,
+ AddressOf _annotationCodeGenerator.Generate,
+ parameters.Cloner.WithTargetName(complexPropertyVariable).Clone())
+
+ mainBuilder.
+ Append("Return ").
+ AppendLine(complexPropertyVariable)
+ End Using
+
+ mainBuilder.AppendLine("End Function")
+ End Using
+
+ Using mainBuilder.Indent()
+ For Each nestedComplexProperty In complexType.GetComplexProperties()
+ CreateComplexProperty(nestedComplexProperty, mainBuilder, methodBuilder, namespaces, topClassName)
+ Next
+ End Using
+
+ mainBuilder.AppendLine("End Class")
+ End Sub
+
Private Sub CreateForeignKey(aforeignKey As IForeignKey,
foreignKeyNumber As Integer,
mainBuilder As IndentedStringBuilder,
diff --git a/EFCore.VisualBasic/build/net6.0/EFCoreVisualBasic.vb b/EFCore.VisualBasic/build/net8.0/EFCoreVisualBasic.vb
similarity index 100%
rename from EFCore.VisualBasic/build/net6.0/EFCoreVisualBasic.vb
rename to EFCore.VisualBasic/build/net8.0/EFCoreVisualBasic.vb
diff --git a/EFCore.VisualBasic/build/net6.0/EntityFrameworkCore.VisualBasic.targets b/EFCore.VisualBasic/build/net8.0/EntityFrameworkCore.VisualBasic.targets
similarity index 100%
rename from EFCore.VisualBasic/build/net6.0/EntityFrameworkCore.VisualBasic.targets
rename to EFCore.VisualBasic/build/net8.0/EntityFrameworkCore.VisualBasic.targets
diff --git a/Sandbox/Sandbox.vbproj b/Sandbox/Sandbox.vbproj
index bf43a3e..3023fdd 100644
--- a/Sandbox/Sandbox.vbproj
+++ b/Sandbox/Sandbox.vbproj
@@ -2,16 +2,16 @@
Exe
- net7.0
+ net8.0
False
On
-
-
-
-
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -30,6 +30,6 @@
-
+
diff --git a/Test/EFCore.Design.Tests.Shared/EFCore.Design.Tests.Shared.csproj b/Test/EFCore.Design.Tests.Shared/EFCore.Design.Tests.Shared.csproj
index 4e8d2f4..6983f59 100644
--- a/Test/EFCore.Design.Tests.Shared/EFCore.Design.Tests.Shared.csproj
+++ b/Test/EFCore.Design.Tests.Shared/EFCore.Design.Tests.Shared.csproj
@@ -1,13 +1,13 @@

- net7.0
+ net8.0
True
-
-
+
+
diff --git a/Test/EFCore.Design.Tests.Shared/EntityFrameworkCore.VisualBasic.Test/Scaffolding/Internal/MyJsonGuidReaderWriter.cs b/Test/EFCore.Design.Tests.Shared/EntityFrameworkCore.VisualBasic.Test/Scaffolding/Internal/MyJsonGuidReaderWriter.cs
index 8ddeb25..7be160d 100644
--- a/Test/EFCore.Design.Tests.Shared/EntityFrameworkCore.VisualBasic.Test/Scaffolding/Internal/MyJsonGuidReaderWriter.cs
+++ b/Test/EFCore.Design.Tests.Shared/EntityFrameworkCore.VisualBasic.Test/Scaffolding/Internal/MyJsonGuidReaderWriter.cs
@@ -6,7 +6,7 @@ namespace EntityFrameworkCore.VisualBasic.Scaffolding.Internal
{
public sealed class MyJsonGuidReaderWriter : JsonValueReaderWriter
{
- public override Guid FromJsonTyped(ref Utf8JsonReaderManager manager)
+ public override Guid FromJsonTyped(ref Utf8JsonReaderManager manager, object existingObject = null)
=> manager.CurrentReader.GetGuid();
public override void ToJsonTyped(Utf8JsonWriter writer, Guid value)
diff --git a/Test/EFCore.VisualBasic.Test/EFCore.VisualBasic.Test.vbproj b/Test/EFCore.VisualBasic.Test/EFCore.VisualBasic.Test.vbproj
index bebfda8..cafcb19 100644
--- a/Test/EFCore.VisualBasic.Test/EFCore.VisualBasic.Test.vbproj
+++ b/Test/EFCore.VisualBasic.Test/EFCore.VisualBasic.Test.vbproj
@@ -1,7 +1,7 @@

- net7.0
+ net8.0
true
false
EntityFrameworkCore.VisualBasic
@@ -26,19 +26,19 @@
-
-
+
+
all
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
all
diff --git a/Test/EFCore.VisualBasic.Test/Migrations/Design/VisualBasicMigrationOperationGeneratorTest.vb b/Test/EFCore.VisualBasic.Test/Migrations/Design/VisualBasicMigrationOperationGeneratorTest.vb
index 08ec7d6..59950ba 100644
--- a/Test/EFCore.VisualBasic.Test/Migrations/Design/VisualBasicMigrationOperationGeneratorTest.vb
+++ b/Test/EFCore.VisualBasic.Test/Migrations/Design/VisualBasicMigrationOperationGeneratorTest.vb
@@ -3420,8 +3420,7 @@ mb.Sql(""-- close to me"")"
Assert.Equal(expectedCode, code, ignoreLineEndingDifferences:=True)
- Dim build = New BuildSource() With
- {
+ Dim build = New BuildSource() With {
.Sources = New Dictionary(Of String, String) From {
{
"Migration.vb",
diff --git a/Test/EFCore.VisualBasic.Test/Migrations/Design/VisualBasicMigrationsGeneratorTests.vb b/Test/EFCore.VisualBasic.Test/Migrations/Design/VisualBasicMigrationsGeneratorTests.vb
index e7e13ae..1f8cb43 100644
--- a/Test/EFCore.VisualBasic.Test/Migrations/Design/VisualBasicMigrationsGeneratorTests.vb
+++ b/Test/EFCore.VisualBasic.Test/Migrations/Design/VisualBasicMigrationsGeneratorTests.vb
@@ -823,57 +823,56 @@ End Namespace
Assert.Equal(2, snapshot.Model.GetEntityTypes().Count())
End Sub
-
Public Sub Snapshot_with_default_values_are_round_tripped()
Dim generator = CreateMigrationsCodeGenerator()
Dim modelBuilder = FakeRelationalTestHelpers.Instance.CreateConventionBuilder()
modelBuilder.Entity(Of EntityWithEveryPrimitive)(
- Sub(eb)
- eb.Property(Function(e) e.Boolean).HasDefaultValue(False)
- eb.Property(Function(e) e.Byte).HasDefaultValue(Byte.MinValue)
- eb.Property(Function(e) e.ByteArray).HasDefaultValue(New Byte() {0})
- eb.Property(Function(e) e.Char).HasDefaultValue("0"c)
- eb.Property(Function(e) e.Date).HasDefaultValue(Date.MinValue)
- eb.Property(Function(e) e.DateTimeOffset).HasDefaultValue(DateTimeOffset.MinValue)
- eb.Property(Function(e) e.Decimal).HasDefaultValue(Decimal.MinValue)
- eb.Property(Function(e) e.Double).HasDefaultValue(Double.MinValue) 'double.NegativeInfinity
- eb.Property(Function(e) e.Enum).HasDefaultValue(Enum1.Default)
- eb.Property(Function(e) e.NullableEnum).HasDefaultValue(Enum1.Default).HasConversion(Of String)()
- eb.Property(Function(e) e.Guid).HasDefaultValue(Guid.NewGuid())
- eb.Property(Function(e) e.Int16).HasDefaultValue(Short.MaxValue)
- eb.Property(Function(e) e.Int32).HasDefaultValue(Integer.MaxValue)
- eb.Property(Function(e) e.Int64).HasDefaultValue(Long.MaxValue)
- eb.Property(Function(e) e.Single).HasDefaultValue(Single.Epsilon)
- eb.Property(Function(e) e.SByte).HasDefaultValue(SByte.MinValue)
- eb.Property(Function(e) e.String).HasDefaultValue("""")
- eb.Property(Function(e) e.TimeSpan).HasDefaultValue(TimeSpan.MaxValue)
- eb.Property(Function(e) e.UInt16).HasDefaultValue(UShort.MinValue)
- eb.Property(Function(e) e.UInt32).HasDefaultValue(UInteger.MinValue)
- eb.Property(Function(e) e.UInt64).HasDefaultValue(ULong.MinValue)
- eb.Property(Function(e) e.NullableBoolean).HasDefaultValue(True)
- eb.Property(Function(e) e.NullableByte).HasDefaultValue(Byte.MaxValue)
- eb.Property(Function(e) e.NullableChar).HasDefaultValue("'"c)
- eb.Property(Function(e) e.NullableDate).HasDefaultValue(Date.MaxValue)
- eb.Property(Function(e) e.NullableDateTimeOffset).HasDefaultValue(DateTimeOffset.MaxValue)
- eb.Property(Function(e) e.NullableDecimal).HasDefaultValue(Decimal.MaxValue)
- eb.Property(Function(e) e.NullableDouble).HasDefaultValue(0.6822871999174)
- eb.Property(Function(e) e.NullableEnum).HasDefaultValue(Enum1.One Or Enum1.Two)
- eb.Property(Function(e) e.NullableStringEnum).HasDefaultValue(Enum1.One).HasConversion(Of String)()
- eb.Property(Function(e) e.NullableGuid).HasDefaultValue(New Guid)
- eb.Property(Function(e) e.NullableInt16).HasDefaultValue(Short.MinValue)
- eb.Property(Function(e) e.NullableInt32).HasDefaultValue(Integer.MinValue)
- eb.Property(Function(e) e.NullableInt64).HasDefaultValue(Long.MinValue)
- eb.Property(Function(e) e.NullableSingle).HasDefaultValue(0.3333333F)
- eb.Property(Function(e) e.NullableSByte).HasDefaultValue(SByte.MinValue)
- eb.Property(Function(e) e.NullableTimeSpan).HasDefaultValue(TimeSpan.MinValue.Add(New TimeSpan))
- eb.Property(Function(e) e.NullableUInt16).HasDefaultValue(UShort.MaxValue)
- eb.Property(Function(e) e.NullableUInt32).HasDefaultValue(UInteger.MaxValue)
- eb.Property(Function(e) e.NullableUInt64).HasDefaultValue(ULong.MaxValue)
-
- eb.HasKey(Function(e) e.Boolean)
- End Sub)
+ Sub(eb)
+ eb.Property(Function(e) e.Boolean).HasDefaultValue(False)
+ eb.Property(Function(e) e.Byte).HasDefaultValue(Byte.MinValue)
+ eb.Property(Function(e) e.ByteArray).HasDefaultValue(New Byte() {0})
+ eb.Property(Function(e) e.Char).HasDefaultValue("0"c)
+ eb.Property(Function(e) e.Date).HasDefaultValue(Date.MinValue)
+ eb.Property(Function(e) e.DateTimeOffset).HasDefaultValue(DateTimeOffset.MinValue)
+ eb.Property(Function(e) e.Decimal).HasDefaultValue(Decimal.MinValue)
+ eb.Property(Function(e) e.Double).HasDefaultValue(Double.MinValue) 'double.NegativeInfinity
+ eb.Property(Function(e) e.Enum).HasDefaultValue(Enum1.Default)
+ eb.Property(Function(e) e.NullableEnum).HasDefaultValue(Enum1.Default).HasConversion(Of String)()
+ eb.Property(Function(e) e.Guid).HasDefaultValue(Guid.NewGuid())
+ eb.Property(Function(e) e.Int16).HasDefaultValue(Short.MaxValue)
+ eb.Property(Function(e) e.Int32).HasDefaultValue(Integer.MaxValue)
+ eb.Property(Function(e) e.Int64).HasDefaultValue(Long.MaxValue)
+ eb.Property(Function(e) e.Single).HasDefaultValue(Single.Epsilon)
+ eb.Property(Function(e) e.SByte).HasDefaultValue(SByte.MinValue)
+ eb.Property(Function(e) e.String).HasDefaultValue("""")
+ eb.Property(Function(e) e.TimeSpan).HasDefaultValue(TimeSpan.MaxValue)
+ eb.Property(Function(e) e.UInt16).HasDefaultValue(UShort.MinValue)
+ eb.Property(Function(e) e.UInt32).HasDefaultValue(UInteger.MinValue)
+ eb.Property(Function(e) e.UInt64).HasDefaultValue(ULong.MinValue)
+ eb.Property(Function(e) e.NullableBoolean).HasDefaultValue(True)
+ eb.Property(Function(e) e.NullableByte).HasDefaultValue(Byte.MaxValue)
+ eb.Property(Function(e) e.NullableChar).HasDefaultValue("'"c)
+ eb.Property(Function(e) e.NullableDate).HasDefaultValue(Date.MaxValue)
+ eb.Property(Function(e) e.NullableDateTimeOffset).HasDefaultValue(DateTimeOffset.MaxValue)
+ eb.Property(Function(e) e.NullableDecimal).HasDefaultValue(Decimal.MaxValue)
+ eb.Property(Function(e) e.NullableDouble).HasDefaultValue(0.6822871999174)
+ eb.Property(Function(e) e.NullableEnum).HasDefaultValue(Enum1.One Or Enum1.Two)
+ eb.Property(Function(e) e.NullableStringEnum).HasDefaultValue(Enum1.One).HasConversion(Of String)()
+ eb.Property(Function(e) e.NullableGuid).HasDefaultValue(New Guid)
+ eb.Property(Function(e) e.NullableInt16).HasDefaultValue(Short.MinValue)
+ eb.Property(Function(e) e.NullableInt32).HasDefaultValue(Integer.MinValue)
+ eb.Property(Function(e) e.NullableInt64).HasDefaultValue(Long.MinValue)
+ eb.Property(Function(e) e.NullableSingle).HasDefaultValue(0.3333333F)
+ eb.Property(Function(e) e.NullableSByte).HasDefaultValue(SByte.MinValue)
+ eb.Property(Function(e) e.NullableTimeSpan).HasDefaultValue(TimeSpan.MinValue.Add(New TimeSpan))
+ eb.Property(Function(e) e.NullableUInt16).HasDefaultValue(UShort.MaxValue)
+ eb.Property(Function(e) e.NullableUInt32).HasDefaultValue(UInteger.MaxValue)
+ eb.Property(Function(e) e.NullableUInt64).HasDefaultValue(ULong.MaxValue)
+
+ eb.HasKey(Function(e) e.Boolean)
+ End Sub)
Dim finalizedModel = modelBuilder.FinalizeModel(designTime:=True)
@@ -970,6 +969,96 @@ End Namespace
Two = 2
End Enum
+
+ Public Sub Complex_properties_are_genered_in_snapshot()
+
+ Dim generator = CreateMigrationsCodeGenerator()
+
+ Dim modelBuilder = FakeRelationalTestHelpers.Instance.CreateConventionBuilder()
+ modelBuilder.Model.RemoveAnnotation(CoreAnnotationNames.ProductVersion)
+
+ modelBuilder.Entity(Of EntityWithOneProperty)(
+ Sub(e)
+ e.ComplexProperty(Function(eo) eo.EntityWithTwoProperties,
+ Sub(eb As ComplexPropertyBuilder(Of EntityWithTwoProperties))
+ eb.Property(Function(x) x.AlternateId).HasColumnOrder(1)
+ eb.ComplexProperty(Function(x) x.EntityWithStringKey)
+ End Sub)
+ End Sub)
+
+ Dim finalizedModel = modelBuilder.FinalizeModel(designTime:=True)
+
+ Dim modelSnapshotCode = generator.GenerateSnapshot(
+ "MyNamespace",
+ GetType(MyContext),
+ "MySnapshot",
+ finalizedModel)
+
+ Assert.Equal(
+
+Imports System.Collections.Generic
+Imports EntityFrameworkCore.VisualBasic.Migrations.Design
+Imports Microsoft.EntityFrameworkCore
+Imports Microsoft.EntityFrameworkCore.Infrastructure
+Imports Microsoft.EntityFrameworkCore.Metadata
+Imports Microsoft.EntityFrameworkCore.Migrations
+
+Namespace Global.MyNamespace
+
+ Partial Class MySnapshot
+ Inherits ModelSnapshot
+
+ Protected Overrides Sub BuildModel(modelBuilder As ModelBuilder)
+
+ modelBuilder.Entity("EntityFrameworkCore.VisualBasic.Migrations.Design.VisualBasicMigrationsGeneratorTests+EntityWithOneProperty",
+ Sub(b)
+ b.Property(Of Integer)("Id").
+ ValueGeneratedOnAdd().
+ HasColumnType("default_int_mapping")
+
+ b.ComplexProperty(Of Dictionary(Of String, Object))("EntityWithTwoProperties", "EntityFrameworkCore.VisualBasic.Migrations.Design.VisualBasicMigrationsGeneratorTests+EntityWithOneProperty.EntityWithTwoProperties#EntityWithTwoProperties",
+ Sub(b1)
+ b1.Property(Of Integer)("AlternateId").
+ HasColumnType("default_int_mapping").
+ HasColumnOrder(1)
+
+ b1.Property(Of Integer)("Id").
+ HasColumnType("default_int_mapping")
+
+ b1.ComplexProperty(Of Dictionary(Of String, Object))("EntityWithStringKey", "EntityFrameworkCore.VisualBasic.Migrations.Design.VisualBasicMigrationsGeneratorTests+EntityWithOneProperty.EntityWithTwoProperties#EntityWithTwoProperties.EntityWithStringKey#EntityWithStringKey",
+ Sub(b2)
+ b2.Property(Of String)("Id").
+ HasColumnType("just_string(max)")
+ End Sub)
+ End Sub)
+
+ b.HasKey("Id")
+
+ b.ToTable("EntityWithOneProperty")
+ End Sub)
+ End Sub
+ End Class
+End Namespace
+]]>.Value, modelSnapshotCode, ignoreLineEndingDifferences:=True)
+
+ Dim snapshot = CompileModelSnapshot(modelSnapshotCode, "MyNamespace.MySnapshot")
+ End Sub
+
+ Private Class EntityWithOneProperty
+ Public Property Id As Integer
+ Public Property EntityWithTwoProperties As EntityWithTwoProperties
+ End Class
+
+ Private Class EntityWithTwoProperties
+ Public Property Id As Integer
+ Public Property AlternateId As Integer
+ Public Property EntityWithStringKey As EntityWithStringKey
+ End Class
+
+ Private Class EntityWithStringKey
+ Public Property Id As String
+ End Class
+
Private Function CompileModelSnapshot(modelSnapshotCode As String, modelSnapshotTypeName As String) As ModelSnapshot
Dim build As New BuildSource With {
.Sources = New Dictionary(Of String, String) From {{"MigrationSnapshot.vb", modelSnapshotCode}}
diff --git a/Test/EFCore.VisualBasic.Test/Scaffolding/Internal/VisualBasicEntityTypeGeneratorTest.vb b/Test/EFCore.VisualBasic.Test/Scaffolding/Internal/VisualBasicEntityTypeGeneratorTest.vb
index 00819fc..bcdf323 100644
--- a/Test/EFCore.VisualBasic.Test/Scaffolding/Internal/VisualBasicEntityTypeGeneratorTest.vb
+++ b/Test/EFCore.VisualBasic.Test/Scaffolding/Internal/VisualBasicEntityTypeGeneratorTest.vb
@@ -2863,9 +2863,9 @@ End Namespace
Yield annotation
Next
- Dim entityType1 = table.EntityTypeMappings.First().EntityType
+ Dim entityType = table.EntityTypeMappings.First().TypeBase
- For Each annotation In entityType1.GetAnnotations().Where(Function(a) a.Name = "Custom:EntityAnnotation")
+ For Each annotation In entityType.GetAnnotations().Where(Function(a) a.Name = "Custom:EntityAnnotation")
Yield annotation
Next
End Function
diff --git a/Test/EFCore.VisualBasic.Test/Scaffolding/Internal/VisualBasicRuntimeModelCodeGeneratorTest.vb b/Test/EFCore.VisualBasic.Test/Scaffolding/Internal/VisualBasicRuntimeModelCodeGeneratorTest.vb
index e65a54f..bf46488 100644
--- a/Test/EFCore.VisualBasic.Test/Scaffolding/Internal/VisualBasicRuntimeModelCodeGeneratorTest.vb
+++ b/Test/EFCore.VisualBasic.Test/Scaffolding/Internal/VisualBasicRuntimeModelCodeGeneratorTest.vb
@@ -1,4 +1,5 @@
Imports System.ComponentModel
+Imports System.ComponentModel.DataAnnotations.Schema
Imports System.Data
Imports System.Linq.Expressions
Imports System.Reflection
@@ -1038,7 +1039,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.Columns.Add("PrincipalId", principalIdColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase As New TableMappingBase(Of ColumnMappingBase)(dependentBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalAlternateId"), ColumnBase(Of ColumnMappingBase)), dependentBase.FindProperty("PrincipalAlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalId"), ColumnBase(Of ColumnMappingBase)), dependentBase.FindProperty("PrincipalId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
@@ -1086,7 +1087,7 @@ Namespace TestNamespace
Dim dependentBasebyteTableMapping As New TableMapping(dependentBase, dependentBasebyteTable, True) With {
.IsSharedTablePrincipal = True
}
- dependentBasebyteTable.AddEntityTypeMapping(dependentBasebyteTableMapping, False)
+ dependentBasebyteTable.AddTypeMapping(dependentBasebyteTableMapping, False)
tableMappings.Add(dependentBasebyteTableMapping)
RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalAlternateId"), dependentBase.FindProperty("PrincipalAlternateId"), dependentBasebyteTableMapping)
RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalId"), dependentBase.FindProperty("PrincipalId"), dependentBasebyteTableMapping)
@@ -1098,7 +1099,7 @@ Namespace TestNamespace
Dim defaultTableMappings0 As New List(Of TableMappingBase(Of ColumnMappingBase))()
dependentDerived.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings0)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0 As New TableMappingBase(Of ColumnMappingBase)(dependentDerived, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0, False)
defaultTableMappings0.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalAlternateId"), ColumnBase(Of ColumnMappingBase)), dependentDerived.FindProperty("PrincipalAlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalId"), ColumnBase(Of ColumnMappingBase)), dependentDerived.FindProperty("PrincipalId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0)
@@ -1112,7 +1113,7 @@ Namespace TestNamespace
Dim dependentBasebyteTableMapping0 As New TableMapping(dependentDerived, dependentBasebyteTable, True) With {
.IsSharedTablePrincipal = False
}
- dependentBasebyteTable.AddEntityTypeMapping(dependentBasebyteTableMapping0, False)
+ dependentBasebyteTable.AddTypeMapping(dependentBasebyteTableMapping0, False)
tableMappings0.Add(dependentBasebyteTableMapping0)
RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalAlternateId"), dependentDerived.FindProperty("PrincipalAlternateId"), dependentBasebyteTableMapping0)
RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalId"), dependentDerived.FindProperty("PrincipalId"), dependentBasebyteTableMapping0)
@@ -1146,7 +1147,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Point", pointColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase, False)
defaultTableMappings1.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("AlternateId"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("AlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
@@ -1211,7 +1212,7 @@ Namespace TestNamespace
Dim principalBaseTableMapping As New TableMapping(principalBase, principalBaseTable, True) With {
.IsSharedTablePrincipal = True
}
- principalBaseTable.AddEntityTypeMapping(principalBaseTableMapping, False)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping, False)
tableMappings1.Add(principalBaseTableMapping)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("AlternateId"), principalBase.FindProperty("AlternateId"), principalBaseTableMapping)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Id"), principalBase.FindProperty("Id"), principalBaseTableMapping)
@@ -1238,7 +1239,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase.Columns.Add("PrincipalBaseId", principalBaseIdColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase.Owned#OwnedType", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase As New TableMappingBase(Of ColumnMappingBase)(ownedType, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase, False)
defaultTableMappings2.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase.FindColumn("PrincipalBaseAlternateId"), ColumnBase(Of ColumnMappingBase)), ownedType.FindProperty("PrincipalBaseAlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase.FindColumn("PrincipalBaseId"), ColumnBase(Of ColumnMappingBase)), ownedType.FindProperty("PrincipalBaseId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase)
@@ -1251,7 +1252,7 @@ Namespace TestNamespace
.IsSharedTablePrincipal = False,
.IsSplitEntityTypePrincipal = True
}
- principalBaseTable.AddEntityTypeMapping(principalBaseTableMapping0, False)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping0, False)
tableMappings2.Add(principalBaseTableMapping0)
principalBaseTable.AddRowInternalForeignKey(ownedType, RelationalModel.GetForeignKey(Me,
"EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase.Owned#OwnedType",
@@ -1282,7 +1283,7 @@ Namespace TestNamespace
Dim detailsTableMapping As New TableMapping(ownedType, detailsTable, True) With {
.IsSplitEntityTypePrincipal = False
}
- detailsTable.AddEntityTypeMapping(detailsTableMapping, False)
+ detailsTable.AddTypeMapping(detailsTableMapping, False)
tableMappings2.Add(detailsTableMapping)
RelationalModel.CreateColumnMapping(detailsTable.FindColumn("PrincipalBaseAlternateId"), ownedType.FindProperty("PrincipalBaseAlternateId"), detailsTableMapping)
RelationalModel.CreateColumnMapping(detailsTable.FindColumn("PrincipalBaseId"), ownedType.FindProperty("PrincipalBaseId"), detailsTableMapping)
@@ -1293,7 +1294,7 @@ Namespace TestNamespace
Dim defaultTableMappings3 As New List(Of TableMappingBase(Of ColumnMappingBase))()
principalDerived.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings3)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0 As New TableMappingBase(Of ColumnMappingBase)(principalDerived, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase, False)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0, False)
defaultTableMappings3.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("AlternateId"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("AlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
@@ -1312,7 +1313,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.Columns.Add("Id", idColumnBase1)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalDerived>", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalDerived, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
defaultTableMappings4.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("AlternateId"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("AlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
@@ -1322,7 +1323,7 @@ Namespace TestNamespace
Dim principalBaseTableMapping1 As New TableMapping(principalDerived, principalBaseTable, False) With {
.IsSharedTablePrincipal = False
}
- principalBaseTable.AddEntityTypeMapping(principalBaseTableMapping1, False)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping1, False)
tableMappings3.Add(principalBaseTableMapping1)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("AlternateId"), principalDerived.FindProperty("AlternateId"), principalBaseTableMapping1)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Id"), principalDerived.FindProperty("Id"), principalBaseTableMapping1)
@@ -1361,7 +1362,7 @@ Namespace TestNamespace
principalDerivedTable.Indexes.Add("IX_PrincipalDerived_AlternateId_DerivedId", iX_PrincipalDerived_AlternateId_DerivedId)
relationalModel.Tables.Add(("PrincipalDerived", Nothing), principalDerivedTable)
Dim principalDerivedTableMapping As New TableMapping(principalDerived, principalDerivedTable, True)
- principalDerivedTable.AddEntityTypeMapping(principalDerivedTableMapping, False)
+ principalDerivedTable.AddTypeMapping(principalDerivedTableMapping, False)
tableMappings3.Add(principalDerivedTableMapping)
RelationalModel.CreateColumnMapping(principalDerivedTable.FindColumn("AlternateId"), principalDerived.FindProperty("AlternateId"), principalDerivedTableMapping)
RelationalModel.CreateColumnMapping(principalDerivedTable.FindColumn("DerivedId"), principalDerived.FindProperty("Id"), principalDerivedTableMapping)
@@ -1385,7 +1386,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase.Columns.Add("PrincipalDerived>Id", principalDerivedDependentBasebyteIdColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalDerived>.ManyOwned#OwnedType", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase As New TableMappingBase(Of ColumnMappingBase)(ownedType0, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase, False)
defaultTableMappings5.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), ownedType0.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase.FindColumn("PrincipalDerived>AlternateId"), ColumnBase(Of ColumnMappingBase)), ownedType0.FindProperty("PrincipalDerivedAlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase)
@@ -1418,7 +1419,7 @@ Namespace TestNamespace
manyOwnedTable.UniqueConstraints.Add("PK_ManyOwned", pK_ManyOwned)
relationalModel.Tables.Add(("ManyOwned", Nothing), manyOwnedTable)
Dim manyOwnedTableMapping As New TableMapping(ownedType0, manyOwnedTable, True)
- manyOwnedTable.AddEntityTypeMapping(manyOwnedTableMapping, False)
+ manyOwnedTable.AddTypeMapping(manyOwnedTableMapping, False)
tableMappings4.Add(manyOwnedTableMapping)
RelationalModel.CreateColumnMapping(manyOwnedTable.FindColumn("Id"), ownedType0.FindProperty("Id"), manyOwnedTableMapping)
RelationalModel.CreateColumnMapping(manyOwnedTable.FindColumn("PrincipalDerived>AlternateId"), ownedType0.FindProperty("PrincipalDerivedAlternateId"), manyOwnedTableMapping)
@@ -1445,7 +1446,7 @@ Namespace TestNamespace
principalBasePrincipalDerivedDependentBasebyteTableBase.Columns.Add("rowid", rowidColumnBase)
relationalModel.DefaultTables.Add("PrincipalBasePrincipalDerived>", principalBasePrincipalDerivedDependentBasebyteTableBase)
Dim principalBasePrincipalDerivedDependentBasebyteMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalBasePrincipalDerivedDependentBasebyte, principalBasePrincipalDerivedDependentBasebyteTableBase, True)
- principalBasePrincipalDerivedDependentBasebyteTableBase.AddEntityTypeMapping(principalBasePrincipalDerivedDependentBasebyteMappingBase, False)
+ principalBasePrincipalDerivedDependentBasebyteTableBase.AddTypeMapping(principalBasePrincipalDerivedDependentBasebyteMappingBase, False)
defaultTableMappings6.Add(principalBasePrincipalDerivedDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(principalBasePrincipalDerivedDependentBasebyteTableBase.FindColumn("DerivedsAlternateId"), ColumnBase(Of ColumnMappingBase)), principalBasePrincipalDerivedDependentBasebyte.FindProperty("DerivedsAlternateId"), principalBasePrincipalDerivedDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(principalBasePrincipalDerivedDependentBasebyteTableBase.FindColumn("DerivedsId"), ColumnBase(Of ColumnMappingBase)), principalBasePrincipalDerivedDependentBasebyte.FindProperty("DerivedsId"), principalBasePrincipalDerivedDependentBasebyteMappingBase)
@@ -1486,7 +1487,7 @@ Namespace TestNamespace
principalBasePrincipalDerivedDependentBasebyteTable.Indexes.Add("IX_PrincipalBasePrincipalDerived>_PrincipalsId_PrincipalsAlternateId", iX_PrincipalBasePrincipalDerivedDependentBasebyte_PrincipalsId_PrincipalsAlternateId)
relationalModel.Tables.Add(("PrincipalBasePrincipalDerived>", Nothing), principalBasePrincipalDerivedDependentBasebyteTable)
Dim principalBasePrincipalDerivedDependentBasebyteTableMapping As New TableMapping(principalBasePrincipalDerivedDependentBasebyte, principalBasePrincipalDerivedDependentBasebyteTable, True)
- principalBasePrincipalDerivedDependentBasebyteTable.AddEntityTypeMapping(principalBasePrincipalDerivedDependentBasebyteTableMapping, False)
+ principalBasePrincipalDerivedDependentBasebyteTable.AddTypeMapping(principalBasePrincipalDerivedDependentBasebyteTableMapping, False)
tableMappings5.Add(principalBasePrincipalDerivedDependentBasebyteTableMapping)
RelationalModel.CreateColumnMapping(principalBasePrincipalDerivedDependentBasebyteTable.FindColumn("DerivedsAlternateId"), principalBasePrincipalDerivedDependentBasebyte.FindProperty("DerivedsAlternateId"), principalBasePrincipalDerivedDependentBasebyteTableMapping)
RelationalModel.CreateColumnMapping(principalBasePrincipalDerivedDependentBasebyteTable.FindColumn("DerivedsId"), principalBasePrincipalDerivedDependentBasebyte.FindProperty("DerivedsId"), principalBasePrincipalDerivedDependentBasebyteTableMapping)
@@ -1909,7 +1910,7 @@ Namespace TestNamespace
"Details",
GetType(String),
propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Details", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
- fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_Details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
propertyAccessMode:=PropertyAccessMode.Field,
nullable:=True)
@@ -1936,7 +1937,7 @@ Namespace TestNamespace
Dim context = entityType.AddServiceProperty(
"Context",
propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Context", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
- serviceType:=GetType(Microsoft.EntityFrameworkCore.DbContext))
+ serviceType:=GetType(DbContext))
Dim key = entityType.AddKey(
{principalBaseId, principalBaseAlternateId})
@@ -2047,7 +2048,7 @@ Namespace TestNamespace
"Details",
GetType(String),
propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Details", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
- fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_Details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
nullable:=True)
details.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
@@ -2062,7 +2063,7 @@ Namespace TestNamespace
Dim context = entityType.AddServiceProperty(
"Context",
propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Context", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
- serviceType:=GetType(Microsoft.EntityFrameworkCore.DbContext))
+ serviceType:=GetType(DbContext))
Dim key = entityType.AddKey(
{principalDerivedId, principalDerivedAlternateId, id})
@@ -2502,7 +2503,9 @@ End Namespace
Assert.False(referenceOwnedType.IsMemoryOptimized())
Assert.IsType(Of ConstructorBinding)(referenceOwnedType.ConstructorBinding)
Assert.Null(referenceOwnedType.FindIndexerPropertyInfo())
- Assert.Equal(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues, referenceOwnedType.GetChangeTrackingStrategy())
+ Assert.Equal(
+ ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues,
+ referenceOwnedType.GetChangeTrackingStrategy())
Assert.Null(referenceOwnedType.GetQueryFilter())
Assert.Null(referenceOwnedType(CoreAnnotationNames.PropertyAccessMode))
Assert.Null(referenceOwnedType(CoreAnnotationNames.NavigationAccessMode))
@@ -2909,7 +2912,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.Columns.Add("PrincipalId", principalIdColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase As New TableMappingBase(Of ColumnMappingBase)(dependentBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalAlternateId"), ColumnBase(Of ColumnMappingBase)), dependentBase.FindProperty("PrincipalAlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalId"), ColumnBase(Of ColumnMappingBase)), dependentBase.FindProperty("PrincipalId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
@@ -2957,7 +2960,7 @@ Namespace TestNamespace
Dim dependentBasebyteTableMapping As New TableMapping(dependentBase, dependentBasebyteTable, True) With {
.IsSharedTablePrincipal = True
}
- dependentBasebyteTable.AddEntityTypeMapping(dependentBasebyteTableMapping, False)
+ dependentBasebyteTable.AddTypeMapping(dependentBasebyteTableMapping, False)
tableMappings.Add(dependentBasebyteTableMapping)
RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalAlternateId"), dependentBase.FindProperty("PrincipalAlternateId"), dependentBasebyteTableMapping)
RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalId"), dependentBase.FindProperty("PrincipalId"), dependentBasebyteTableMapping)
@@ -2969,7 +2972,7 @@ Namespace TestNamespace
Dim defaultTableMappings0 As New List(Of TableMappingBase(Of ColumnMappingBase))()
dependentDerived.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings0)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0 As New TableMappingBase(Of ColumnMappingBase)(dependentDerived, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0, False)
defaultTableMappings0.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalAlternateId"), ColumnBase(Of ColumnMappingBase)), dependentDerived.FindProperty("PrincipalAlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalId"), ColumnBase(Of ColumnMappingBase)), dependentDerived.FindProperty("PrincipalId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase0)
@@ -2983,7 +2986,7 @@ Namespace TestNamespace
Dim dependentBasebyteTableMapping0 As New TableMapping(dependentDerived, dependentBasebyteTable, True) With {
.IsSharedTablePrincipal = False
}
- dependentBasebyteTable.AddEntityTypeMapping(dependentBasebyteTableMapping0, False)
+ dependentBasebyteTable.AddTypeMapping(dependentBasebyteTableMapping0, False)
tableMappings0.Add(dependentBasebyteTableMapping0)
RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalAlternateId"), dependentDerived.FindProperty("PrincipalAlternateId"), dependentBasebyteTableMapping0)
RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalId"), dependentDerived.FindProperty("PrincipalId"), dependentBasebyteTableMapping0)
@@ -3019,7 +3022,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Point", pointColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase, False)
defaultTableMappings1.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("AlternateId"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("AlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
@@ -3086,7 +3089,7 @@ Namespace TestNamespace
Dim principalBaseTableMapping As New TableMapping(principalBase, principalBaseTable, True) With {
.IsSharedTablePrincipal = True
}
- principalBaseTable.AddEntityTypeMapping(principalBaseTableMapping, False)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping, False)
tableMappings1.Add(principalBaseTableMapping)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("AlternateId"), principalBase.FindProperty("AlternateId"), principalBaseTableMapping)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Id"), principalBase.FindProperty("Id"), principalBaseTableMapping)
@@ -3106,7 +3109,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase.Columns.Add("Owned", ownedColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase.Owned#OwnedType", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase As New TableMappingBase(Of ColumnMappingBase)(ownedType, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase, False)
defaultTableMappings2.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseOwnedOwnedTypeMappingBase)
Dim tableMappings2 As New List(Of TableMapping)()
@@ -3114,7 +3117,7 @@ Namespace TestNamespace
Dim principalBaseTableMapping0 As New TableMapping(ownedType, principalBaseTable, True) With {
.IsSharedTablePrincipal = False
}
- principalBaseTable.AddEntityTypeMapping(principalBaseTableMapping0, False)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping0, False)
tableMappings2.Add(principalBaseTableMapping0)
principalBaseTable.AddRowInternalForeignKey(ownedType, RelationalModel.GetForeignKey(Me,
"EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase.Owned#OwnedType",
@@ -3127,7 +3130,7 @@ Namespace TestNamespace
Dim defaultTableMappings3 As New List(Of TableMappingBase(Of ColumnMappingBase))()
principalDerived.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings3)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0 As New TableMappingBase(Of ColumnMappingBase)(principalDerived, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0, False)
defaultTableMappings3.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("AlternateId"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("AlternateId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
@@ -3143,7 +3146,7 @@ Namespace TestNamespace
Dim principalBaseTableMapping1 As New TableMapping(principalDerived, principalBaseTable, True) With {
.IsSharedTablePrincipal = False
}
- principalBaseTable.AddEntityTypeMapping(principalBaseTableMapping1, False)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping1, False)
tableMappings3.Add(principalBaseTableMapping1)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("AlternateId"), principalDerived.FindProperty("AlternateId"), principalBaseTableMapping1)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Id"), principalDerived.FindProperty("Id"), principalBaseTableMapping1)
@@ -3165,7 +3168,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase.Columns.Add("ManyOwned", manyOwnedColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalDerived>.ManyOwned#OwnedType", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase As New TableMappingBase(Of ColumnMappingBase)(ownedType0, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase, False)
defaultTableMappings4.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteManyOwnedOwnedTypeMappingBase)
Dim tableMappings4 As New List(Of TableMapping)()
@@ -3173,7 +3176,7 @@ Namespace TestNamespace
Dim principalBaseTableMapping2 As New TableMapping(ownedType0, principalBaseTable, True) With {
.IsSharedTablePrincipal = False
}
- principalBaseTable.AddEntityTypeMapping(principalBaseTableMapping2, True)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping2, True)
tableMappings4.Add(principalBaseTableMapping2)
principalBaseTable.AddRowInternalForeignKey(ownedType0, RelationalModel.GetForeignKey(Me,
"EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalDerived>.ManyOwned#OwnedType",
@@ -3200,7 +3203,7 @@ Namespace TestNamespace
principalBasePrincipalDerivedDependentBasebyteTableBase.Columns.Add("rowid", rowidColumnBase)
relationalModel.DefaultTables.Add("PrincipalBasePrincipalDerived>", principalBasePrincipalDerivedDependentBasebyteTableBase)
Dim principalBasePrincipalDerivedDependentBasebyteMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalBasePrincipalDerivedDependentBasebyte, principalBasePrincipalDerivedDependentBasebyteTableBase, True)
- principalBasePrincipalDerivedDependentBasebyteTableBase.AddEntityTypeMapping(principalBasePrincipalDerivedDependentBasebyteMappingBase, False)
+ principalBasePrincipalDerivedDependentBasebyteTableBase.AddTypeMapping(principalBasePrincipalDerivedDependentBasebyteMappingBase, False)
defaultTableMappings5.Add(principalBasePrincipalDerivedDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(principalBasePrincipalDerivedDependentBasebyteTableBase.FindColumn("DerivedsAlternateId"), ColumnBase(Of ColumnMappingBase)), principalBasePrincipalDerivedDependentBasebyte.FindProperty("DerivedsAlternateId"), principalBasePrincipalDerivedDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(principalBasePrincipalDerivedDependentBasebyteTableBase.FindColumn("DerivedsId"), ColumnBase(Of ColumnMappingBase)), principalBasePrincipalDerivedDependentBasebyte.FindProperty("DerivedsId"), principalBasePrincipalDerivedDependentBasebyteMappingBase)
@@ -3241,7 +3244,7 @@ Namespace TestNamespace
principalBasePrincipalDerivedDependentBasebyteTable.Indexes.Add("IX_PrincipalBasePrincipalDerived>_PrincipalsId_PrincipalsAlternateId", iX_PrincipalBasePrincipalDerivedDependentBasebyte_PrincipalsId_PrincipalsAlternateId)
relationalModel.Tables.Add(("PrincipalBasePrincipalDerived>", Nothing), principalBasePrincipalDerivedDependentBasebyteTable)
Dim principalBasePrincipalDerivedDependentBasebyteTableMapping As New TableMapping(principalBasePrincipalDerivedDependentBasebyte, principalBasePrincipalDerivedDependentBasebyteTable, True)
- principalBasePrincipalDerivedDependentBasebyteTable.AddEntityTypeMapping(principalBasePrincipalDerivedDependentBasebyteTableMapping, False)
+ principalBasePrincipalDerivedDependentBasebyteTable.AddTypeMapping(principalBasePrincipalDerivedDependentBasebyteTableMapping, False)
tableMappings5.Add(principalBasePrincipalDerivedDependentBasebyteTableMapping)
RelationalModel.CreateColumnMapping(principalBasePrincipalDerivedDependentBasebyteTable.FindColumn("DerivedsAlternateId"), principalBasePrincipalDerivedDependentBasebyte.FindProperty("DerivedsAlternateId"), principalBasePrincipalDerivedDependentBasebyteTableMapping)
RelationalModel.CreateColumnMapping(principalBasePrincipalDerivedDependentBasebyteTable.FindColumn("DerivedsId"), principalBasePrincipalDerivedDependentBasebyte.FindProperty("DerivedsId"), principalBasePrincipalDerivedDependentBasebyteTableMapping)
@@ -3609,7 +3612,7 @@ Namespace TestNamespace
"Details",
GetType(String),
propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Details", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
- fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_Details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
propertyAccessMode:=PropertyAccessMode.Field,
nullable:=True)
details.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
@@ -3626,7 +3629,7 @@ Namespace TestNamespace
Dim context = entityType.AddServiceProperty(
"Context",
propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Context", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
- serviceType:=GetType(Microsoft.EntityFrameworkCore.DbContext))
+ serviceType:=GetType(DbContext))
Dim key = entityType.AddKey(
{principalBaseId, principalBaseAlternateId})
@@ -3719,7 +3722,7 @@ Namespace TestNamespace
"Details",
GetType(String),
propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Details", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
- fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_Details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
nullable:=True)
details.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
@@ -3734,7 +3737,7 @@ Namespace TestNamespace
Dim context = entityType.AddServiceProperty(
"Context",
propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Context", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
- serviceType:=GetType(Microsoft.EntityFrameworkCore.DbContext))
+ serviceType:=GetType(DbContext))
Dim key = entityType.AddKey(
{principalDerivedId, principalDerivedAlternateId, id})
@@ -4443,182 +4446,20 @@ End Namespace
GetType(SqlServerNetTopologySuiteDesignTimeServices))
End Sub
- Public Class BigContextWithJson
- Inherits BigContext
-
- Public Sub New()
- MyBase.New(jsonColumns:=True)
- End Sub
- End Class
-
- Public Class BigContext
- Inherits SqlServerContextBase
-
- Private ReadOnly _jsonColumns As Boolean
-
- Public Sub New(Optional jsonColumns As Boolean = False)
- _jsonColumns = jsonColumns
- End Sub
-
- Protected Overrides Sub OnModelCreating(modelBuilder As ModelBuilder)
- MyBase.OnModelCreating(modelBuilder)
-
- modelBuilder.
- UseCollation("Latin1_General_CS_AS").
- UseIdentityColumns(3, 2)
-
- modelBuilder.Entity(Of PrincipalBase)(
- Sub(eb)
- If Not _jsonColumns Then
- eb.Property(Function(e) e.Id).
- UseIdentityColumn(2, 3).
- Metadata.
- SetColumnName("DerivedId", StoreObjectIdentifier.
- Table("PrincipalDerived"))
- End If
-
- eb.Property(Function(e) e.FlagsEnum2).
- HasSentinel(AFlagsEnum.C Or AFlagsEnum.B)
-
- eb.Property(Function(e) e.AlternateId).
- UsePropertyAccessMode(PropertyAccessMode.FieldDuringConstruction)
-
- eb.Property(Of Point)("Point").
- HasColumnType("geometry").
- HasDefaultValue(NtsGeometryServices.Instance.CreateGeometryFactory(srid:=0).
- CreatePoint(New CoordinateZM(0, 0, 0, 0))).
- HasConversion(Of CastingConverter(Of Point, Point), CustomValueComparer(Of Point), CustomValueComparer(Of Point))()
-
- eb.HasIndex(Function(e) New With {e.AlternateId, e.Id})
-
- eb.HasKey(Function(e) New With {e.Id, e.AlternateId}).HasName("PK").
- IsClustered()
-
- eb.HasAlternateKey(Function(e) e.Id)
-
- eb.Property(Function(e) e.AlternateId).Metadata.SetJsonValueReaderWriterType(
- If(_jsonColumns,
- GetType(MyJsonGuidReaderWriter),
- GetType(JsonGuidReaderWriter)))
-
- eb.OwnsOne(
- Function(e) e.Owned,
- Sub(ob)
- ob.HasChangeTrackingStrategy(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)
- ob.UsePropertyAccessMode(PropertyAccessMode.Field)
- ob.Property(Function(e) e.Details).
- IsSparse().
- UseCollation("Latin1_General_CI_AI")
-
- If _jsonColumns Then
- ob.ToJson()
- Else
- ob.ToTable("PrincipalBase", "mySchema",
- Sub(t) t.Property("PrincipalBaseId").UseIdentityColumn(2, 3))
-
- ob.SplitToTable("Details", Sub(s) s.Property(Function(e) e.Details))
-
- ob.HasData(New With {
- .Number = 10,
- .PrincipalBaseId = 1L,
- .PrincipalBaseAlternateId = New Guid()
- })
- End If
- End Sub)
-
- eb.Navigation(Function(e) e.Owned).
- IsRequired().
- HasField("_ownedField").
- UsePropertyAccessMode(PropertyAccessMode.Field)
-
- If Not _jsonColumns Then
- eb.HasData(New PrincipalBase With {.Id = 1, .AlternateId = New Guid()})
-
- eb.ToTable("PrincipalBase", "mySchema")
- End If
- End Sub)
-
- modelBuilder.Entity(Of PrincipalDerived(Of DependentBase(Of Byte?)))(
- Sub(eb)
- eb.HasOne(Function(e) e.Dependent).
- WithOne(Function(e) e.Principal).
- HasForeignKey(Of DependentBase(Of Byte?))().
- OnDelete(DeleteBehavior.ClientNoAction)
-
- eb.Navigation(Function(e) e.Dependent).AutoInclude().EnableLazyLoading(False)
-
- eb.OwnsMany(GetType(OwnedType).FullName, "ManyOwned",
- Sub(ob)
- If _jsonColumns Then
- ob.ToJson()
- Else
- ob.ToTable("ManyOwned", Sub(t) t.IsMemoryOptimized().ExcludeFromMigrations())
- End If
- End Sub)
-
- eb.HasMany(Function(e) e.Principals).
- WithMany(Function(e) DirectCast(e.Deriveds, ICollection(Of PrincipalDerived(Of DependentBase(Of Byte?))))).
- UsingEntity(
- Sub(jb)
- jb.ToTable(Function(tb) tb.HasComment("Join table"))
- jb.Property(Of Byte())("rowid").
- IsRowVersion().
- HasComment("RowVersion").
- HasColumnOrder(1)
- End Sub)
-
- eb.Navigation(Function(e) e.Principals).AutoInclude().EnableLazyLoading(False)
-
- If Not _jsonColumns Then
- eb.ToTable("PrincipalDerived")
- End If
- End Sub)
-
- modelBuilder.Entity(Of DependentBase(Of Byte?))(
- Sub(eb)
- eb.Property(Of Byte?)("Id")
-
- eb.HasKey({"PrincipalId", "PrincipalAlternateId"})
-
- eb.HasOne(Of PrincipalBase)().
- WithOne().
- HasForeignKey(Of DependentBase(Of Byte?))("PrincipalId").
- HasPrincipalKey(Of PrincipalBase)(Function(e) e.Id)
-
- eb.HasDiscriminator(Of Enum1)("EnumDiscriminator").
- HasValue(Enum1.One).
- HasValue(Of DependentDerived(Of Byte?))(Enum1.Two).
- IsComplete(False)
- End Sub)
-
- modelBuilder.Entity(Of DependentDerived(Of Byte?))(
- Sub(eb)
- eb.Property(Of String)("Data").
- HasMaxLength(20).
- IsFixedLength().
- IsUnicode(False)
-
- eb.Property(Of Decimal)("Money").
- HasPrecision(9, 3)
- End Sub)
- End Sub
- End Class
-
- Public Sub TPC_model()
+ Public Sub ComplexTypes()
- Dim rm1 =
-
+ Dim ComplexTypesContextModel =
Imports EntityFrameworkCore.VisualBasic.Scaffolding.Internal
Imports Microsoft.EntityFrameworkCore.Infrastructure
Imports Microsoft.EntityFrameworkCore.Metadata
Namespace TestNamespace
-
- Public Partial Class TpcContextModel
+
+ Public Partial Class ComplexTypesContextModel
Inherits RuntimeModel
- Private Shared _Instance As TpcContextModel
+ Private Shared _Instance As ComplexTypesContextModel
Public Shared ReadOnly Property Instance As IModel
Get
Return _Instance
@@ -4626,7 +4467,7 @@ Namespace TestNamespace
End Property
Shared Sub New()
- Dim model As New TpcContextModel()
+ Dim model As New ComplexTypesContextModel()
model.Initialize()
model.Customize()
_Instance = model
@@ -4641,10 +4482,12 @@ Namespace TestNamespace
End Namespace
]]>.Value
- Dim rm2 =
-
+ Dim ComplexTypesContextModelBuilder =
Imports System
Imports System.Collections.Generic
+Imports System.Linq
+Imports System.Reflection
+Imports EntityFrameworkCore.VisualBasic.Scaffolding.Internal
Imports Microsoft.EntityFrameworkCore
Imports Microsoft.EntityFrameworkCore.Infrastructure
Imports Microsoft.EntityFrameworkCore.Metadata
@@ -4652,33 +4495,28 @@ Imports Microsoft.EntityFrameworkCore.Metadata.Internal
Imports Microsoft.EntityFrameworkCore.Migrations
Namespace TestNamespace
- Public Partial Class TpcContextModel
+ Public Partial Class ComplexTypesContextModel
Private Sub Initialize()
- Dim dependentBase = DependentBaseEntityType.Create(Me)
Dim principalBase = PrincipalBaseEntityType.Create(Me)
Dim principalDerived = PrincipalDerivedEntityType.Create(Me, principalBase)
- DependentBaseEntityType.CreateForeignKey1(dependentBase, principalDerived)
PrincipalBaseEntityType.CreateForeignKey1(principalBase, principalBase)
- PrincipalBaseEntityType.CreateForeignKey2(principalBase, principalDerived)
- DependentBaseEntityType.CreateAnnotations(dependentBase)
PrincipalBaseEntityType.CreateAnnotations(principalBase)
PrincipalDerivedEntityType.CreateAnnotations(principalDerived)
- Dim sequences As New SortedDictionary(Of (String, String), ISequence)()
- Dim principalBaseSequence As New RuntimeSequence(
- "PrincipalBaseSequence",
+ Dim functions As New SortedDictionary(Of String, IDbFunction)()
+ Dim principalBaseTvf As New RuntimeDbFunction(
+ "PrincipalBaseTvf",
Me,
- GetType(Long),
- schema:="TPC",
- modelSchemaIsNull:=True)
+ GetType(IQueryable(Of VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase)),
+ "PrincipalBaseTvf",
+ schema:="dbo")
- sequences(("PrincipalBaseSequence", Nothing)) = principalBaseSequence
+ functions("PrincipalBaseTvf") = principalBaseTvf
- AddAnnotation("Relational:Sequences", sequences)
- AddAnnotation("Relational:DefaultSchema", "TPC")
+ AddAnnotation("Relational:DbFunctions", functions)
AddAnnotation("Relational:MaxIdentifierLength", 128)
AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn)
AddRuntimeAnnotation("Relational:RelationalModel", CreateRelationalModel())
@@ -4687,61 +4525,13 @@ Namespace TestNamespace
Private Function CreateRelationalModel() As IRelationalModel
Dim relationalModel As New RelationalModel(Me)
- Dim dependentBase = FindEntityType("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase")
-
- Dim defaultTableMappings As New List(Of TableMappingBase(Of ColumnMappingBase))()
- dependentBase.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings)
- Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase As New TableBase("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase", Nothing, relationalModel)
- Dim idColumnBase As New ColumnBase(Of ColumnMappingBase)("Id", "tinyint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.Columns.Add("Id", idColumnBase)
- Dim principalIdColumnBase As New ColumnBase(Of ColumnMappingBase)("PrincipalId", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase) With {
- .IsNullable = True
- }
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.Columns.Add("PrincipalId", principalIdColumnBase)
- relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase)
- Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase As New TableMappingBase(Of ColumnMappingBase)(dependentBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
- defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
- RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), dependentBase.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
- RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalId"), ColumnBase(Of ColumnMappingBase)), dependentBase.FindProperty("PrincipalId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
-
- Dim tableMappings As New List(Of TableMapping)()
- dependentBase.SetRuntimeAnnotation("Relational:TableMappings", tableMappings)
- Dim dependentBasebyteTable As New Table("DependentBase", "TPC", relationalModel)
- Dim idColumn As New Column("Id", "tinyint", dependentBasebyteTable)
- dependentBasebyteTable.Columns.Add("Id", idColumn)
- Dim principalIdColumn As New Column("PrincipalId", "bigint", dependentBasebyteTable) With {
- .IsNullable = True
- }
- dependentBasebyteTable.Columns.Add("PrincipalId", principalIdColumn)
- Dim pK_DependentBasebyte As New UniqueConstraint("PK_DependentBase", dependentBasebyteTable, {idColumn})
- dependentBasebyteTable.PrimaryKey = pK_DependentBasebyte
- Dim pK_DependentBasebyteUc = RelationalModel.GetKey(Me,
- "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase",
- {"Id"})
- pK_DependentBasebyte.MappedKeys.Add(pK_DependentBasebyteUc)
- RelationalModel.GetOrCreateUniqueConstraints(pK_DependentBasebyteUc).Add(pK_DependentBasebyte)
- dependentBasebyteTable.UniqueConstraints.Add("PK_DependentBase", pK_DependentBasebyte)
- Dim iX_DependentBasebyte_PrincipalId As New TableIndex(
- "IX_DependentBase_PrincipalId", dependentBasebyteTable, {principalIdColumn}, True)
- Dim iX_DependentBasebyte_PrincipalIdIx = RelationalModel.GetIndex(Me,
- "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase",
- {"PrincipalId"})
- iX_DependentBasebyte_PrincipalId.MappedIndexes.Add(iX_DependentBasebyte_PrincipalIdIx)
- RelationalModel.GetOrCreateTableIndexes(iX_DependentBasebyte_PrincipalIdIx).Add(iX_DependentBasebyte_PrincipalId)
- dependentBasebyteTable.Indexes.Add("IX_DependentBase_PrincipalId", iX_DependentBasebyte_PrincipalId)
- relationalModel.Tables.Add(("DependentBase", "TPC"), dependentBasebyteTable)
- Dim dependentBasebyteTableMapping As New TableMapping(dependentBase, dependentBasebyteTable, True)
- dependentBasebyteTable.AddEntityTypeMapping(dependentBasebyteTableMapping, False)
- tableMappings.Add(dependentBasebyteTableMapping)
- RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("Id"), dependentBase.FindProperty("Id"), dependentBasebyteTableMapping)
- RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalId"), dependentBase.FindProperty("PrincipalId"), dependentBasebyteTableMapping)
-
Dim principalBase = FindEntityType("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase")
- Dim defaultTableMappings0 As New List(Of TableMappingBase(Of ColumnMappingBase))()
- principalBase.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings0)
+ Dim defaultTableMappings As New List(Of TableMappingBase(Of ColumnMappingBase))()
+ principalBase.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase As New TableBase("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase", Nothing, relationalModel)
+ Dim discriminatorColumnBase As New ColumnBase(Of ColumnMappingBase)("Discriminator", "nvarchar(55)", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Discriminator", discriminatorColumnBase)
Dim enum1ColumnBase As New ColumnBase(Of ColumnMappingBase)("Enum1", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Enum1", enum1ColumnBase)
Dim enum2ColumnBase As New ColumnBase(Of ColumnMappingBase)("Enum2", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase) With {
@@ -4752,20 +4542,1288 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("FlagsEnum1", flagsEnum1ColumnBase)
Dim flagsEnum2ColumnBase As New ColumnBase(Of ColumnMappingBase)("FlagsEnum2", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("FlagsEnum2", flagsEnum2ColumnBase)
- Dim idColumnBase0 As New ColumnBase(Of ColumnMappingBase)("Id", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Id", idColumnBase0)
+ Dim idColumnBase As New ColumnBase(Of ColumnMappingBase)("Id", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Id", idColumnBase)
Dim principalBaseIdColumnBase As New ColumnBase(Of ColumnMappingBase)("PrincipalBaseId", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase) With {
.IsNullable = True
}
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("PrincipalBaseId", principalBaseIdColumnBase)
- Dim principalDerivedDependentBasebyteIdColumnBase As New ColumnBase(Of ColumnMappingBase)("PrincipalDerived>Id", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase) With {
- .IsNullable = True
- }
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("PrincipalDerived>Id", principalDerivedDependentBasebyteIdColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
- Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase, False)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase, False)
- defaultTableMappings0.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase, True)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase, False)
+ defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Discriminator"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Discriminator"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Enum1"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Enum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Enum2"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Enum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("FlagsEnum1"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("FlagsEnum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("FlagsEnum2"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("FlagsEnum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("PrincipalBaseId"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("PrincipalBaseId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
+
+ Dim tableMappings As New List(Of TableMapping)()
+ principalBase.SetRuntimeAnnotation("Relational:TableMappings", tableMappings)
+ Dim principalBaseTable As New Table("PrincipalBase", Nothing, relationalModel)
+ Dim idColumn As New Column("Id", "bigint", principalBaseTable)
+ principalBaseTable.Columns.Add("Id", idColumn)
+ Dim deetsColumn As New Column("Deets", "varchar(64)", principalBaseTable) With {
+ .IsNullable = True
+ }
+ principalBaseTable.Columns.Add("Deets", deetsColumn)
+ Dim discriminatorColumn As New Column("Discriminator", "nvarchar(55)", principalBaseTable)
+ principalBaseTable.Columns.Add("Discriminator", discriminatorColumn)
+ Dim enum1Column As New Column("Enum1", "int", principalBaseTable)
+ principalBaseTable.Columns.Add("Enum1", enum1Column)
+ Dim enum2Column As New Column("Enum2", "int", principalBaseTable) With {
+ .IsNullable = True
+ }
+ principalBaseTable.Columns.Add("Enum2", enum2Column)
+ Dim flagsEnum1Column As New Column("FlagsEnum1", "int", principalBaseTable)
+ principalBaseTable.Columns.Add("FlagsEnum1", flagsEnum1Column)
+ Dim flagsEnum2Column As New Column("FlagsEnum2", "int", principalBaseTable)
+ principalBaseTable.Columns.Add("FlagsEnum2", flagsEnum2Column)
+ Dim owned_NumberColumn As New Column("Owned_Number", "int", principalBaseTable)
+ principalBaseTable.Columns.Add("Owned_Number", owned_NumberColumn)
+ Dim owned_Principal_AlternateIdColumn As New Column("Owned_Principal_AlternateId", "uniqueidentifier", principalBaseTable)
+ principalBaseTable.Columns.Add("Owned_Principal_AlternateId", owned_Principal_AlternateIdColumn)
+ Dim owned_Principal_Enum1Column As New Column("Owned_Principal_Enum1", "int", principalBaseTable)
+ principalBaseTable.Columns.Add("Owned_Principal_Enum1", owned_Principal_Enum1Column)
+ Dim owned_Principal_Enum2Column As New Column("Owned_Principal_Enum2", "int", principalBaseTable) With {
+ .IsNullable = True
+ }
+ principalBaseTable.Columns.Add("Owned_Principal_Enum2", owned_Principal_Enum2Column)
+ Dim owned_Principal_FlagsEnum1Column As New Column("Owned_Principal_FlagsEnum1", "int", principalBaseTable)
+ principalBaseTable.Columns.Add("Owned_Principal_FlagsEnum1", owned_Principal_FlagsEnum1Column)
+ Dim owned_Principal_FlagsEnum2Column As New Column("Owned_Principal_FlagsEnum2", "int", principalBaseTable)
+ principalBaseTable.Columns.Add("Owned_Principal_FlagsEnum2", owned_Principal_FlagsEnum2Column)
+ Dim owned_Principal_IdColumn As New Column("Owned_Principal_Id", "bigint", principalBaseTable) With {
+ .IsNullable = True
+ }
+ principalBaseTable.Columns.Add("Owned_Principal_Id", owned_Principal_IdColumn)
+ Dim principalBaseIdColumn As New Column("PrincipalBaseId", "bigint", principalBaseTable) With {
+ .IsNullable = True
+ }
+ principalBaseTable.Columns.Add("PrincipalBaseId", principalBaseIdColumn)
+ Dim pK_PrincipalBase As New UniqueConstraint("PK_PrincipalBase", principalBaseTable, {idColumn})
+ principalBaseTable.PrimaryKey = pK_PrincipalBase
+ Dim pK_PrincipalBaseUc = RelationalModel.GetKey(Me,
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase",
+ {"Id"})
+ pK_PrincipalBase.MappedKeys.Add(pK_PrincipalBaseUc)
+ RelationalModel.GetOrCreateUniqueConstraints(pK_PrincipalBaseUc).Add(pK_PrincipalBase)
+ principalBaseTable.UniqueConstraints.Add("PK_PrincipalBase", pK_PrincipalBase)
+ Dim iX_PrincipalBase_PrincipalBaseId As New TableIndex(
+ "IX_PrincipalBase_PrincipalBaseId", principalBaseTable, {principalBaseIdColumn}, False)
+ Dim iX_PrincipalBase_PrincipalBaseIdIx = RelationalModel.GetIndex(Me,
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase",
+ {"PrincipalBaseId"})
+ iX_PrincipalBase_PrincipalBaseId.MappedIndexes.Add(iX_PrincipalBase_PrincipalBaseIdIx)
+ RelationalModel.GetOrCreateTableIndexes(iX_PrincipalBase_PrincipalBaseIdIx).Add(iX_PrincipalBase_PrincipalBaseId)
+ principalBaseTable.Indexes.Add("IX_PrincipalBase_PrincipalBaseId", iX_PrincipalBase_PrincipalBaseId)
+ relationalModel.Tables.Add(("PrincipalBase", Nothing), principalBaseTable)
+ Dim principalBaseTableMapping As New TableMapping(principalBase, principalBaseTable, True) With {
+ .IsSharedTablePrincipal = True
+ }
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping, False)
+ tableMappings.Add(principalBaseTableMapping)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Id"), principalBase.FindProperty("Id"), principalBaseTableMapping)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Discriminator"), principalBase.FindProperty("Discriminator"), principalBaseTableMapping)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Enum1"), principalBase.FindProperty("Enum1"), principalBaseTableMapping)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Enum2"), principalBase.FindProperty("Enum2"), principalBaseTableMapping)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("FlagsEnum1"), principalBase.FindProperty("FlagsEnum1"), principalBaseTableMapping)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("FlagsEnum2"), principalBase.FindProperty("FlagsEnum2"), principalBaseTableMapping)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("PrincipalBaseId"), principalBase.FindProperty("PrincipalBaseId"), principalBaseTableMapping)
+
+ Dim viewMappings As New List(Of ViewMapping)()
+ principalBase.SetRuntimeAnnotation("Relational:ViewMappings", viewMappings)
+ Dim principalBaseViewView As New View("PrincipalBaseView", Nothing, relationalModel)
+ Dim discriminatorViewColumn As New ViewColumn("Discriminator", "nvarchar(55)", principalBaseViewView)
+ principalBaseViewView.Columns.Add("Discriminator", discriminatorViewColumn)
+ Dim enum1ViewColumn As New ViewColumn("Enum1", "int", principalBaseViewView)
+ principalBaseViewView.Columns.Add("Enum1", enum1ViewColumn)
+ Dim enum2ViewColumn As New ViewColumn("Enum2", "int", principalBaseViewView) With {
+ .IsNullable = True
+ }
+ principalBaseViewView.Columns.Add("Enum2", enum2ViewColumn)
+ Dim flagsEnum1ViewColumn As New ViewColumn("FlagsEnum1", "int", principalBaseViewView)
+ principalBaseViewView.Columns.Add("FlagsEnum1", flagsEnum1ViewColumn)
+ Dim flagsEnum2ViewColumn As New ViewColumn("FlagsEnum2", "int", principalBaseViewView)
+ principalBaseViewView.Columns.Add("FlagsEnum2", flagsEnum2ViewColumn)
+ Dim idViewColumn As New ViewColumn("Id", "bigint", principalBaseViewView)
+ principalBaseViewView.Columns.Add("Id", idViewColumn)
+ Dim principalBaseIdViewColumn As New ViewColumn("PrincipalBaseId", "bigint", principalBaseViewView) With {
+ .IsNullable = True
+ }
+ principalBaseViewView.Columns.Add("PrincipalBaseId", principalBaseIdViewColumn)
+ relationalModel.Views.Add(("PrincipalBaseView", Nothing), principalBaseViewView)
+ Dim principalBaseViewViewMapping As New ViewMapping(principalBase, principalBaseViewView, True)
+ principalBaseViewView.AddTypeMapping(principalBaseViewViewMapping, False)
+ viewMappings.Add(principalBaseViewViewMapping)
+ RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("Id"), principalBase.FindProperty("Id"), principalBaseViewViewMapping)
+ RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("Discriminator"), principalBase.FindProperty("Discriminator"), principalBaseViewViewMapping)
+ RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("Enum1"), principalBase.FindProperty("Enum1"), principalBaseViewViewMapping)
+ RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("Enum2"), principalBase.FindProperty("Enum2"), principalBaseViewViewMapping)
+ RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("FlagsEnum1"), principalBase.FindProperty("FlagsEnum1"), principalBaseViewViewMapping)
+ RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("FlagsEnum2"), principalBase.FindProperty("FlagsEnum2"), principalBaseViewViewMapping)
+ RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("PrincipalBaseId"), principalBase.FindProperty("PrincipalBaseId"), principalBaseViewViewMapping)
+
+ Dim sqlQueryMappings As New List(Of SqlQueryMapping)()
+ principalBase.SetRuntimeAnnotation("Relational:SqlQueryMappings", sqlQueryMappings)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery As New SqlQuery("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase.MappedSqlQuery", relationalModel, "select * from PrincipalBase")
+ Dim discriminatorSqlQueryColumn As New SqlQueryColumn("Discriminator", "nvarchar(55)", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.Columns.Add("Discriminator", discriminatorSqlQueryColumn)
+ Dim enum1SqlQueryColumn As New SqlQueryColumn("Enum1", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.Columns.Add("Enum1", enum1SqlQueryColumn)
+ Dim enum2SqlQueryColumn As New SqlQueryColumn("Enum2", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery) With {
+ .IsNullable = True
+ }
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.Columns.Add("Enum2", enum2SqlQueryColumn)
+ Dim flagsEnum1SqlQueryColumn As New SqlQueryColumn("FlagsEnum1", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.Columns.Add("FlagsEnum1", flagsEnum1SqlQueryColumn)
+ Dim flagsEnum2SqlQueryColumn As New SqlQueryColumn("FlagsEnum2", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.Columns.Add("FlagsEnum2", flagsEnum2SqlQueryColumn)
+ Dim idSqlQueryColumn As New SqlQueryColumn("Id", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.Columns.Add("Id", idSqlQueryColumn)
+ Dim principalBaseIdSqlQueryColumn As New SqlQueryColumn("PrincipalBaseId", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery) With {
+ .IsNullable = True
+ }
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.Columns.Add("PrincipalBaseId", principalBaseIdSqlQueryColumn)
+ relationalModel.Queries.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase.MappedSqlQuery", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping As New SqlQueryMapping(principalBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery, True)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping, False)
+ sqlQueryMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping.IsDefaultSqlQueryMapping = True
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("Id"), principalBase.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("Discriminator"), principalBase.FindProperty("Discriminator"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("Enum1"), principalBase.FindProperty("Enum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("Enum2"), principalBase.FindProperty("Enum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("FlagsEnum1"), principalBase.FindProperty("FlagsEnum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("FlagsEnum2"), principalBase.FindProperty("FlagsEnum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("PrincipalBaseId"), principalBase.FindProperty("PrincipalBaseId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping)
+
+ Dim functionMappings As New List(Of FunctionMapping)()
+ principalBase.SetRuntimeAnnotation("Relational:FunctionMappings", functionMappings)
+ Dim principalBaseTvf = DirectCast(Me.FindDbFunction("PrincipalBaseTvf"), IRuntimeDbFunction)
+ Dim principalBaseTvfFunction As New StoreFunction(principalBaseTvf, relationalModel)
+ Dim discriminatorFunctionColumn As New FunctionColumn("Discriminator", "nvarchar(55)", principalBaseTvfFunction)
+ principalBaseTvfFunction.Columns.Add("Discriminator", discriminatorFunctionColumn)
+ Dim enum1FunctionColumn As New FunctionColumn("Enum1", "int", principalBaseTvfFunction)
+ principalBaseTvfFunction.Columns.Add("Enum1", enum1FunctionColumn)
+ Dim enum2FunctionColumn As New FunctionColumn("Enum2", "int", principalBaseTvfFunction) With {
+ .IsNullable = True
+ }
+ principalBaseTvfFunction.Columns.Add("Enum2", enum2FunctionColumn)
+ Dim flagsEnum1FunctionColumn As New FunctionColumn("FlagsEnum1", "int", principalBaseTvfFunction)
+ principalBaseTvfFunction.Columns.Add("FlagsEnum1", flagsEnum1FunctionColumn)
+ Dim flagsEnum2FunctionColumn As New FunctionColumn("FlagsEnum2", "int", principalBaseTvfFunction)
+ principalBaseTvfFunction.Columns.Add("FlagsEnum2", flagsEnum2FunctionColumn)
+ Dim idFunctionColumn As New FunctionColumn("Id", "bigint", principalBaseTvfFunction)
+ principalBaseTvfFunction.Columns.Add("Id", idFunctionColumn)
+ Dim principalBaseIdFunctionColumn As New FunctionColumn("PrincipalBaseId", "bigint", principalBaseTvfFunction) With {
+ .IsNullable = True
+ }
+ principalBaseTvfFunction.Columns.Add("PrincipalBaseId", principalBaseIdFunctionColumn)
+ relationalModel.Functions.Add(
+ ("PrincipalBaseTvf", "dbo", New String() {}),
+ principalBaseTvfFunction)
+ Dim principalBaseTvfFunctionMapping As New FunctionMapping(principalBase, principalBaseTvfFunction, principalBaseTvf, True)
+ principalBaseTvfFunction.AddTypeMapping(principalBaseTvfFunctionMapping, False)
+ functionMappings.Add(principalBaseTvfFunctionMapping)
+ principalBaseTvfFunctionMapping.IsDefaultFunctionMapping = True
+ RelationalModel.CreateFunctionColumnMapping(principalBaseTvfFunction.FindColumn("Id"), principalBase.FindProperty("Id"), principalBaseTvfFunctionMapping)
+ RelationalModel.CreateFunctionColumnMapping(principalBaseTvfFunction.FindColumn("Discriminator"), principalBase.FindProperty("Discriminator"), principalBaseTvfFunctionMapping)
+ RelationalModel.CreateFunctionColumnMapping(principalBaseTvfFunction.FindColumn("Enum1"), principalBase.FindProperty("Enum1"), principalBaseTvfFunctionMapping)
+ RelationalModel.CreateFunctionColumnMapping(principalBaseTvfFunction.FindColumn("Enum2"), principalBase.FindProperty("Enum2"), principalBaseTvfFunctionMapping)
+ RelationalModel.CreateFunctionColumnMapping(principalBaseTvfFunction.FindColumn("FlagsEnum1"), principalBase.FindProperty("FlagsEnum1"), principalBaseTvfFunctionMapping)
+ RelationalModel.CreateFunctionColumnMapping(principalBaseTvfFunction.FindColumn("FlagsEnum2"), principalBase.FindProperty("FlagsEnum2"), principalBaseTvfFunctionMapping)
+ RelationalModel.CreateFunctionColumnMapping(principalBaseTvfFunction.FindColumn("PrincipalBaseId"), principalBase.FindProperty("PrincipalBaseId"), principalBaseTvfFunctionMapping)
+
+ Dim deleteSprocMappings As New List(Of StoredProcedureMapping)()
+ principalBase.SetRuntimeAnnotation("Relational:DeleteStoredProcedureMappings", deleteSprocMappings)
+ Dim principalBase_DeleteStoreSproc As New StoreStoredProcedure("PrincipalBase_Delete", Nothing, relationalModel)
+ principalBase_DeleteStoreSproc.ReturnValue = New StoreStoredProcedureReturnValue("", "int", principalBase_DeleteStoreSproc)
+ Dim id_OriginalParameter As New StoreStoredProcedureParameter("Id_Original", "bigint", 0, principalBase_DeleteStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_DeleteStoreSproc.AddParameter(id_OriginalParameter)
+ principalBase_DeleteStoreSproc.AddStoredProcedure(DirectCast(principalBase.GetDeleteStoredProcedure(), IRuntimeStoredProcedure))
+ relationalModel.StoredProcedures.Add(("PrincipalBase_Delete", Nothing), principalBase_DeleteStoreSproc)
+ Dim principalBase_DeleteDSproc = DirectCast(principalBase.GetDeleteStoredProcedure(), IRuntimeStoredProcedure)
+ Dim principalBase_DeleteSprocMapping As New StoredProcedureMapping(principalBase, principalBase_DeleteStoreSproc, DirectCast(principalBase.GetDeleteStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping, True)
+ principalBase_DeleteStoreSproc.AddTypeMapping(principalBase_DeleteSprocMapping, False)
+ deleteSprocMappings.Add(principalBase_DeleteSprocMapping)
+ principalBaseTableMapping.DeleteStoredProcedureMapping = principalBase_DeleteSprocMapping
+ RelationalModel.CreateStoredProcedureParameterMapping(id_OriginalParameter, principalBase_DeleteDSproc.FindParameter("Id_Original"), principalBase.FindProperty("Id"), principalBase_DeleteSprocMapping)
+
+ Dim insertSprocMappings As New List(Of StoredProcedureMapping)()
+ principalBase.SetRuntimeAnnotation("Relational:InsertStoredProcedureMappings", insertSprocMappings)
+ Dim principalBase_InsertStoreSproc As New StoreStoredProcedure("PrincipalBase_Insert", Nothing, relationalModel)
+ Dim principalBaseIdParameter As New StoreStoredProcedureParameter("PrincipalBaseId", "bigint", 0, principalBase_InsertStoreSproc, System.Data.ParameterDirection.Input) With {
+ .IsNullable = True
+ }
+ principalBase_InsertStoreSproc.AddParameter(principalBaseIdParameter)
+ Dim enum1Parameter As New StoreStoredProcedureParameter("Enum1", "int", 1, principalBase_InsertStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_InsertStoreSproc.AddParameter(enum1Parameter)
+ Dim enum2Parameter As New StoreStoredProcedureParameter("Enum2", "int", 2, principalBase_InsertStoreSproc, System.Data.ParameterDirection.Input) With {
+ .IsNullable = True
+ }
+ principalBase_InsertStoreSproc.AddParameter(enum2Parameter)
+ Dim flagsEnum1Parameter As New StoreStoredProcedureParameter("FlagsEnum1", "int", 3, principalBase_InsertStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_InsertStoreSproc.AddParameter(flagsEnum1Parameter)
+ Dim flagsEnum2Parameter As New StoreStoredProcedureParameter("FlagsEnum2", "int", 4, principalBase_InsertStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_InsertStoreSproc.AddParameter(flagsEnum2Parameter)
+ Dim discriminatorParameter As New StoreStoredProcedureParameter("Discriminator", "nvarchar(55)", 5, principalBase_InsertStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_InsertStoreSproc.AddParameter(discriminatorParameter)
+ Dim idParameter As New StoreStoredProcedureParameter("Id", "bigint", 6, principalBase_InsertStoreSproc, System.Data.ParameterDirection.Output)
+ principalBase_InsertStoreSproc.AddParameter(idParameter)
+ principalBase_InsertStoreSproc.AddStoredProcedure(DirectCast(principalBase.GetInsertStoredProcedure(), IRuntimeStoredProcedure))
+ relationalModel.StoredProcedures.Add(("PrincipalBase_Insert", Nothing), principalBase_InsertStoreSproc)
+ Dim principalBase_InsertISproc = DirectCast(principalBase.GetInsertStoredProcedure(), IRuntimeStoredProcedure)
+ Dim principalBase_InsertSprocMapping As New StoredProcedureMapping(principalBase, principalBase_InsertStoreSproc, DirectCast(principalBase.GetInsertStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping, True)
+ principalBase_InsertStoreSproc.AddTypeMapping(principalBase_InsertSprocMapping, False)
+ insertSprocMappings.Add(principalBase_InsertSprocMapping)
+ principalBaseTableMapping.InsertStoredProcedureMapping = principalBase_InsertSprocMapping
+ RelationalModel.CreateStoredProcedureParameterMapping(idParameter, principalBase_InsertISproc.FindParameter("Id"), principalBase.FindProperty("Id"), principalBase_InsertSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(discriminatorParameter, principalBase_InsertISproc.FindParameter("Discriminator"), principalBase.FindProperty("Discriminator"), principalBase_InsertSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(enum1Parameter, principalBase_InsertISproc.FindParameter("Enum1"), principalBase.FindProperty("Enum1"), principalBase_InsertSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(enum2Parameter, principalBase_InsertISproc.FindParameter("Enum2"), principalBase.FindProperty("Enum2"), principalBase_InsertSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(flagsEnum1Parameter, principalBase_InsertISproc.FindParameter("FlagsEnum1"), principalBase.FindProperty("FlagsEnum1"), principalBase_InsertSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(flagsEnum2Parameter, principalBase_InsertISproc.FindParameter("FlagsEnum2"), principalBase.FindProperty("FlagsEnum2"), principalBase_InsertSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(principalBaseIdParameter, principalBase_InsertISproc.FindParameter("PrincipalBaseId"), principalBase.FindProperty("PrincipalBaseId"), principalBase_InsertSprocMapping)
+
+ Dim updateSprocMappings As New List(Of StoredProcedureMapping)()
+ principalBase.SetRuntimeAnnotation("Relational:UpdateStoredProcedureMappings", updateSprocMappings)
+ Dim principalBase_UpdateStoreSproc As New StoreStoredProcedure("PrincipalBase_Update", Nothing, relationalModel)
+ Dim principalBaseIdParameter0 As New StoreStoredProcedureParameter("PrincipalBaseId", "bigint", 0, principalBase_UpdateStoreSproc, System.Data.ParameterDirection.Input) With {
+ .IsNullable = True
+ }
+ principalBase_UpdateStoreSproc.AddParameter(principalBaseIdParameter0)
+ Dim enum1Parameter0 As New StoreStoredProcedureParameter("Enum1", "int", 1, principalBase_UpdateStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_UpdateStoreSproc.AddParameter(enum1Parameter0)
+ Dim enum2Parameter0 As New StoreStoredProcedureParameter("Enum2", "int", 2, principalBase_UpdateStoreSproc, System.Data.ParameterDirection.Input) With {
+ .IsNullable = True
+ }
+ principalBase_UpdateStoreSproc.AddParameter(enum2Parameter0)
+ Dim flagsEnum1Parameter0 As New StoreStoredProcedureParameter("FlagsEnum1", "int", 3, principalBase_UpdateStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_UpdateStoreSproc.AddParameter(flagsEnum1Parameter0)
+ Dim flagsEnum2Parameter0 As New StoreStoredProcedureParameter("FlagsEnum2", "int", 4, principalBase_UpdateStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_UpdateStoreSproc.AddParameter(flagsEnum2Parameter0)
+ Dim id_OriginalParameter0 As New StoreStoredProcedureParameter("Id_Original", "bigint", 5, principalBase_UpdateStoreSproc, System.Data.ParameterDirection.Input)
+ principalBase_UpdateStoreSproc.AddParameter(id_OriginalParameter0)
+ principalBase_UpdateStoreSproc.AddStoredProcedure(DirectCast(principalBase.GetUpdateStoredProcedure(), IRuntimeStoredProcedure))
+ relationalModel.StoredProcedures.Add(("PrincipalBase_Update", Nothing), principalBase_UpdateStoreSproc)
+ Dim principalBase_UpdateUSproc = DirectCast(principalBase.GetUpdateStoredProcedure(), IRuntimeStoredProcedure)
+ Dim principalBase_UpdateSprocMapping As New StoredProcedureMapping(principalBase, principalBase_UpdateStoreSproc, DirectCast(principalBase.GetUpdateStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping, True)
+ principalBase_UpdateStoreSproc.AddTypeMapping(principalBase_UpdateSprocMapping, False)
+ updateSprocMappings.Add(principalBase_UpdateSprocMapping)
+ principalBaseTableMapping.UpdateStoredProcedureMapping = principalBase_UpdateSprocMapping
+ RelationalModel.CreateStoredProcedureParameterMapping(id_OriginalParameter0, principalBase_UpdateUSproc.FindParameter("Id_Original"), principalBase.FindProperty("Id"), principalBase_UpdateSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(enum1Parameter0, principalBase_UpdateUSproc.FindParameter("Enum1"), principalBase.FindProperty("Enum1"), principalBase_UpdateSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(enum2Parameter0, principalBase_UpdateUSproc.FindParameter("Enum2"), principalBase.FindProperty("Enum2"), principalBase_UpdateSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(flagsEnum1Parameter0, principalBase_UpdateUSproc.FindParameter("FlagsEnum1"), principalBase.FindProperty("FlagsEnum1"), principalBase_UpdateSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(flagsEnum2Parameter0, principalBase_UpdateUSproc.FindParameter("FlagsEnum2"), principalBase.FindProperty("FlagsEnum2"), principalBase_UpdateSprocMapping)
+ RelationalModel.CreateStoredProcedureParameterMapping(principalBaseIdParameter0, principalBase_UpdateUSproc.FindParameter("PrincipalBaseId"), principalBase.FindProperty("PrincipalBaseId"), principalBase_UpdateSprocMapping)
+
+ Dim ownedType = principalBase.FindComplexProperty("Owned").ComplexType
+
+ Dim tableMappings0 As New List(Of TableMapping)()
+ ownedType.SetRuntimeAnnotation("Relational:TableMappings", tableMappings0)
+ Dim principalBaseTableMapping0 As New TableMapping(ownedType, principalBaseTable, True)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping0, False)
+ tableMappings0.Add(principalBaseTableMapping0)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Deets"), ownedType.FindProperty("Details"), principalBaseTableMapping0)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Owned_Number"), ownedType.FindProperty("Number"), principalBaseTableMapping0)
+
+ Dim principalBase0 = ownedType.FindComplexProperty("Principal").ComplexType
+
+ Dim tableMappings1 As New List(Of TableMapping)()
+ principalBase0.SetRuntimeAnnotation("Relational:TableMappings", tableMappings1)
+ Dim principalBaseTableMapping1 As New TableMapping(principalBase0, principalBaseTable, True)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping1, False)
+ tableMappings1.Add(principalBaseTableMapping1)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Owned_Principal_AlternateId"), principalBase0.FindProperty("AlternateId"), principalBaseTableMapping1)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Owned_Principal_Enum1"), principalBase0.FindProperty("Enum1"), principalBaseTableMapping1)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Owned_Principal_Enum2"), principalBase0.FindProperty("Enum2"), principalBaseTableMapping1)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Owned_Principal_FlagsEnum1"), principalBase0.FindProperty("FlagsEnum1"), principalBaseTableMapping1)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Owned_Principal_FlagsEnum2"), principalBase0.FindProperty("FlagsEnum2"), principalBaseTableMapping1)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Owned_Principal_Id"), principalBase0.FindProperty("Id"), principalBaseTableMapping1)
+
+ Dim principalDerived = FindEntityType("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalDerived>")
+
+ Dim defaultTableMappings0 As New List(Of TableMappingBase(Of ColumnMappingBase))()
+ principalDerived.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings0)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0 As New TableMappingBase(Of ColumnMappingBase)(principalDerived, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase, True)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0, False)
+ defaultTableMappings0.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Discriminator"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Discriminator"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Enum1"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Enum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Enum2"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Enum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("FlagsEnum1"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("FlagsEnum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("FlagsEnum2"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("FlagsEnum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("PrincipalBaseId"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("PrincipalBaseId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase0)
+
+ Dim tableMappings2 As New List(Of TableMapping)()
+ principalDerived.SetRuntimeAnnotation("Relational:TableMappings", tableMappings2)
+ Dim principalBaseTableMapping2 As New TableMapping(principalDerived, principalBaseTable, True) With {
+ .IsSharedTablePrincipal = False
+ }
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping2, False)
+ tableMappings2.Add(principalBaseTableMapping2)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Id"), principalDerived.FindProperty("Id"), principalBaseTableMapping2)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Discriminator"), principalDerived.FindProperty("Discriminator"), principalBaseTableMapping2)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Enum1"), principalDerived.FindProperty("Enum1"), principalBaseTableMapping2)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Enum2"), principalDerived.FindProperty("Enum2"), principalBaseTableMapping2)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("FlagsEnum1"), principalDerived.FindProperty("FlagsEnum1"), principalBaseTableMapping2)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("FlagsEnum2"), principalDerived.FindProperty("FlagsEnum2"), principalBaseTableMapping2)
+ RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("PrincipalBaseId"), principalDerived.FindProperty("PrincipalBaseId"), principalBaseTableMapping2)
+
+ Dim sqlQueryMappings0 As New List(Of SqlQueryMapping)()
+ principalDerived.SetRuntimeAnnotation("Relational:SqlQueryMappings", sqlQueryMappings0)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0 As New SqlQueryMapping(principalDerived, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery, True)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0, False)
+ sqlQueryMappings0.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0.IsDefaultSqlQueryMapping = True
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("Id"), principalDerived.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("Discriminator"), principalDerived.FindProperty("Discriminator"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("Enum1"), principalDerived.FindProperty("Enum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("Enum2"), principalDerived.FindProperty("Enum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("FlagsEnum1"), principalDerived.FindProperty("FlagsEnum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("FlagsEnum2"), principalDerived.FindProperty("FlagsEnum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0)
+ RelationalModel.CreateSqlQueryColumnMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQuery.FindColumn("PrincipalBaseId"), principalDerived.FindProperty("PrincipalBaseId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappedSqlQuerySqlQueryMapping0)
+
+ Dim deleteSprocMappings0 As New List(Of StoredProcedureMapping)()
+ principalDerived.SetRuntimeAnnotation("Relational:DeleteStoredProcedureMappings", deleteSprocMappings0)
+ Dim principalBase_DeleteDSproc0 = DirectCast(principalBase.GetDeleteStoredProcedure(), IRuntimeStoredProcedure)
+ Dim principalBase_DeleteSprocMapping0 As New StoredProcedureMapping(principalDerived, principalBase_DeleteStoreSproc, DirectCast(principalBase.GetDeleteStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping2, True)
+ principalBase_DeleteStoreSproc.AddTypeMapping(principalBase_DeleteSprocMapping0, False)
+ deleteSprocMappings0.Add(principalBase_DeleteSprocMapping0)
+ principalBaseTableMapping2.DeleteStoredProcedureMapping = principalBase_DeleteSprocMapping0
+ RelationalModel.CreateStoredProcedureParameterMapping(id_OriginalParameter, principalBase_DeleteDSproc0.FindParameter("Id_Original"), principalDerived.FindProperty("Id"), principalBase_DeleteSprocMapping0)
+
+ Dim insertSprocMappings0 As New List(Of StoredProcedureMapping)()
+ principalDerived.SetRuntimeAnnotation("Relational:InsertStoredProcedureMappings", insertSprocMappings0)
+ Dim principalBase_InsertISproc0 = DirectCast(principalBase.GetInsertStoredProcedure(), IRuntimeStoredProcedure)
+ Dim principalBase_InsertSprocMapping0 As New StoredProcedureMapping(principalDerived, principalBase_InsertStoreSproc, DirectCast(principalBase.GetInsertStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping2, True)
+ principalBase_InsertStoreSproc.AddTypeMapping(principalBase_InsertSprocMapping0, False)
+ insertSprocMappings0.Add(principalBase_InsertSprocMapping0)
+ principalBaseTableMapping2.InsertStoredProcedureMapping = principalBase_InsertSprocMapping0
+ RelationalModel.CreateStoredProcedureParameterMapping(idParameter, principalBase_InsertISproc0.FindParameter("Id"), principalDerived.FindProperty("Id"), principalBase_InsertSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(discriminatorParameter, principalBase_InsertISproc0.FindParameter("Discriminator"), principalDerived.FindProperty("Discriminator"), principalBase_InsertSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(enum1Parameter, principalBase_InsertISproc0.FindParameter("Enum1"), principalDerived.FindProperty("Enum1"), principalBase_InsertSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(enum2Parameter, principalBase_InsertISproc0.FindParameter("Enum2"), principalDerived.FindProperty("Enum2"), principalBase_InsertSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(flagsEnum1Parameter, principalBase_InsertISproc0.FindParameter("FlagsEnum1"), principalDerived.FindProperty("FlagsEnum1"), principalBase_InsertSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(flagsEnum2Parameter, principalBase_InsertISproc0.FindParameter("FlagsEnum2"), principalDerived.FindProperty("FlagsEnum2"), principalBase_InsertSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(principalBaseIdParameter, principalBase_InsertISproc0.FindParameter("PrincipalBaseId"), principalDerived.FindProperty("PrincipalBaseId"), principalBase_InsertSprocMapping0)
+
+ Dim updateSprocMappings0 As New List(Of StoredProcedureMapping)()
+ principalDerived.SetRuntimeAnnotation("Relational:UpdateStoredProcedureMappings", updateSprocMappings0)
+ Dim principalBase_UpdateUSproc0 = DirectCast(principalBase.GetUpdateStoredProcedure(), IRuntimeStoredProcedure)
+ Dim principalBase_UpdateSprocMapping0 As New StoredProcedureMapping(principalDerived, principalBase_UpdateStoreSproc, DirectCast(principalBase.GetUpdateStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping2, True)
+ principalBase_UpdateStoreSproc.AddTypeMapping(principalBase_UpdateSprocMapping0, False)
+ updateSprocMappings0.Add(principalBase_UpdateSprocMapping0)
+ principalBaseTableMapping2.UpdateStoredProcedureMapping = principalBase_UpdateSprocMapping0
+ RelationalModel.CreateStoredProcedureParameterMapping(id_OriginalParameter0, principalBase_UpdateUSproc0.FindParameter("Id_Original"), principalDerived.FindProperty("Id"), principalBase_UpdateSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(enum1Parameter0, principalBase_UpdateUSproc0.FindParameter("Enum1"), principalDerived.FindProperty("Enum1"), principalBase_UpdateSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(enum2Parameter0, principalBase_UpdateUSproc0.FindParameter("Enum2"), principalDerived.FindProperty("Enum2"), principalBase_UpdateSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(flagsEnum1Parameter0, principalBase_UpdateUSproc0.FindParameter("FlagsEnum1"), principalDerived.FindProperty("FlagsEnum1"), principalBase_UpdateSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(flagsEnum2Parameter0, principalBase_UpdateUSproc0.FindParameter("FlagsEnum2"), principalDerived.FindProperty("FlagsEnum2"), principalBase_UpdateSprocMapping0)
+ RelationalModel.CreateStoredProcedureParameterMapping(principalBaseIdParameter0, principalBase_UpdateUSproc0.FindParameter("PrincipalBaseId"), principalDerived.FindProperty("PrincipalBaseId"), principalBase_UpdateSprocMapping0)
+ Dim fK_PrincipalBase_PrincipalBase_PrincipalBaseId As New ForeignKeyConstraint(
+ "FK_PrincipalBase_PrincipalBase_PrincipalBaseId", principalBaseTable, principalBaseTable,
+ {principalBaseIdColumn},
+ principalBaseTable.FindUniqueConstraint("PK_PrincipalBase"), ReferentialAction.NoAction)
+ Dim fK_PrincipalBase_PrincipalBase_PrincipalBaseIdFk = RelationalModel.GetForeignKey(Me,
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase",
+ {"PrincipalBaseId"},
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase",
+ {"Id"})
+ fK_PrincipalBase_PrincipalBase_PrincipalBaseId.MappedForeignKeys.Add(fK_PrincipalBase_PrincipalBase_PrincipalBaseIdFk)
+ RelationalModel.GetOrCreateForeignKeyConstraints(fK_PrincipalBase_PrincipalBase_PrincipalBaseIdFk).Add(fK_PrincipalBase_PrincipalBase_PrincipalBaseId)
+ principalBaseTable.ForeignKeyConstraints.Add(fK_PrincipalBase_PrincipalBase_PrincipalBaseId)
+ principalBaseTable.ReferencingForeignKeyConstraints.Add(fK_PrincipalBase_PrincipalBase_PrincipalBaseId)
+ Return relationalModel.MakeReadOnly()
+ End Function
+ End Class
+End Namespace
+]]>.Value
+
+ Dim PrincipalBaseEntityType =
+Imports System
+Imports System.Collections.Generic
+Imports System.Reflection
+Imports EntityFrameworkCore.VisualBasic.Scaffolding.Internal
+Imports Microsoft.EntityFrameworkCore
+Imports Microsoft.EntityFrameworkCore.Metadata
+Imports Microsoft.EntityFrameworkCore.ValueGeneration
+
+Namespace TestNamespace
+ Friend Partial Class PrincipalBaseEntityType
+
+ Public Shared Function Create(model As RuntimeModel, Optional baseEntityType As RuntimeEntityType = Nothing) As RuntimeEntityType
+ Dim entityType = model.AddEntityType(
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase),
+ baseEntityType,
+ discriminatorProperty:="Discriminator",
+ discriminatorValue:="PrincipalBase")
+
+ Dim id = entityType.AddProperty(
+ "Id",
+ GetType(Long?),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("Id", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_Id", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ valueGenerated:=ValueGenerated.OnAdd,
+ afterSaveBehavior:=PropertySaveBehavior.Throw)
+ id.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn)
+
+ Dim discriminator = entityType.AddProperty(
+ "Discriminator",
+ GetType(String),
+ afterSaveBehavior:=PropertySaveBehavior.Throw,
+ maxLength:=55,
+ valueGeneratorFactory:=AddressOf New DiscriminatorValueGeneratorFactory().Create)
+ discriminator.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim enum1 = entityType.AddProperty(
+ "Enum1",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.AnEnum),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("Enum1", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_Enum1", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ sentinel:=CType(0, VisualBasicRuntimeModelCodeGeneratorTest.AnEnum))
+ enum1.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim enum2 = entityType.AddProperty(
+ "Enum2",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.AnEnum?),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("Enum2", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_Enum2", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ nullable:=True)
+ enum2.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim flagsEnum1 = entityType.AddProperty(
+ "FlagsEnum1",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.AFlagsEnum),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("FlagsEnum1", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_FlagsEnum1", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ sentinel:=CType(0, VisualBasicRuntimeModelCodeGeneratorTest.AFlagsEnum))
+ flagsEnum1.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim flagsEnum2 = entityType.AddProperty(
+ "FlagsEnum2",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.AFlagsEnum),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("FlagsEnum2", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_FlagsEnum2", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ sentinel:=CType(0, VisualBasicRuntimeModelCodeGeneratorTest.AFlagsEnum))
+ flagsEnum2.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim principalBaseId = entityType.AddProperty(
+ "PrincipalBaseId",
+ GetType(Long?),
+ nullable:=True)
+ principalBaseId.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ OwnedComplexProperty.Create(entityType)
+ Dim key = entityType.AddKey(
+ {id})
+ entityType.SetPrimaryKey(key)
+
+ Dim index = entityType.AddIndex(
+ {principalBaseId})
+
+ Return entityType
+ End Function
+
+ Private Class OwnedComplexProperty
+ Public Shared Function Create(declaringType As RuntimeEntityType) As RuntimeComplexProperty
+ Dim complexProperty = declaringType.AddComplexProperty("Owned",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType),
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase.Owned#OwnedType",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("Owned", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_ownedField", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ propertyAccessMode:=PropertyAccessMode.Field,
+ changeTrackingStrategy:=ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)
+
+ Dim complexType = complexProperty.ComplexType
+ Dim details = complexType.AddProperty(
+ "Details",
+ GetType(String),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Details", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_details", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ propertyAccessMode:=PropertyAccessMode.FieldDuringConstruction,
+ nullable:=True,
+ concurrencyToken:=True,
+ valueGenerated:=ValueGenerated.OnAddOrUpdate,
+ beforeSaveBehavior:=PropertySaveBehavior.Ignore,
+ afterSaveBehavior:=PropertySaveBehavior.Ignore,
+ maxLength:=64,
+ unicode:=False,
+ precision:=3,
+ scale:=2,
+ sentinel:="")
+ details.AddAnnotation("foo", "bar")
+ details.AddAnnotation("Relational:ColumnName", "Deets")
+ details.AddAnnotation("Relational:ColumnType", "varchar")
+ details.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim number = complexType.AddProperty(
+ "Number",
+ GetType(Integer),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Number", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_Number", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ sentinel:=0)
+ number.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ PrincipalComplexProperty.Create(complexType)
+ complexType.AddAnnotation("go", "brr")
+ complexType.AddAnnotation("Relational:FunctionName", "PrincipalBaseTvf")
+ complexType.AddAnnotation("Relational:Schema", Nothing)
+ complexType.AddAnnotation("Relational:SqlQuery", "select * from PrincipalBase")
+ complexType.AddAnnotation("Relational:TableName", "PrincipalBase")
+ complexType.AddAnnotation("Relational:ViewName", "PrincipalBaseView")
+ complexType.AddAnnotation("Relational:ViewSchema", Nothing)
+ complexProperty.AddAnnotation("goo", "ber")
+ Return complexProperty
+ End Function
+
+ Private Class PrincipalComplexProperty
+ Public Shared Function Create(declaringType As RuntimeComplexType) As RuntimeComplexProperty
+ Dim complexProperty = declaringType.AddComplexProperty("Principal",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase),
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase.Owned#OwnedType.Principal#PrincipalBase",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetProperty("Principal", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.OwnedType).GetField("_Principal", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ nullable:=True)
+
+ Dim complexType = complexProperty.ComplexType
+ Dim alternateId = complexType.AddProperty(
+ "AlternateId",
+ GetType(Guid),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("AlternateId", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ sentinel:=New Guid("00000000-0000-0000-0000-000000000000"))
+ alternateId.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim enum1 = complexType.AddProperty(
+ "Enum1",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.AnEnum),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("Enum1", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_Enum1", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ sentinel:=CType(0, VisualBasicRuntimeModelCodeGeneratorTest.AnEnum))
+ enum1.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim enum2 = complexType.AddProperty(
+ "Enum2",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.AnEnum?),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("Enum2", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_Enum2", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ nullable:=True)
+ enum2.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim flagsEnum1 = complexType.AddProperty(
+ "FlagsEnum1",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.AFlagsEnum),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("FlagsEnum1", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_FlagsEnum1", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ sentinel:=CType(0, VisualBasicRuntimeModelCodeGeneratorTest.AFlagsEnum))
+ flagsEnum1.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim flagsEnum2 = complexType.AddProperty(
+ "FlagsEnum2",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.AFlagsEnum),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("FlagsEnum2", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_FlagsEnum2", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ sentinel:=CType(0, VisualBasicRuntimeModelCodeGeneratorTest.AFlagsEnum))
+ flagsEnum2.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ Dim id = complexType.AddProperty(
+ "Id",
+ GetType(Long?),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("Id", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_Id", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ nullable:=True)
+ id.AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.None)
+
+ complexType.AddAnnotation("Relational:FunctionName", "PrincipalBaseTvf")
+ complexType.AddAnnotation("Relational:Schema", Nothing)
+ complexType.AddAnnotation("Relational:SqlQuery", "select * from PrincipalBase")
+ complexType.AddAnnotation("Relational:TableName", "PrincipalBase")
+ complexType.AddAnnotation("Relational:ViewName", "PrincipalBaseView")
+ complexType.AddAnnotation("Relational:ViewSchema", Nothing)
+ Return complexProperty
+ End Function
+ End Class
+ End Class
+
+ Public Shared Function CreateForeignKey1(declaringEntityType As RuntimeEntityType, principalEntityType As RuntimeEntityType) As RuntimeForeignKey
+ Dim runtimeForeignKey = declaringEntityType.AddForeignKey({declaringEntityType.FindProperty("PrincipalBaseId")},
+ principalEntityType.FindKey({principalEntityType.FindProperty("Id")}),
+ principalEntityType)
+
+ Dim deriveds = principalEntityType.AddNavigation("Deriveds",
+ runtimeForeignKey,
+ onDependent:=False,
+ GetType(ICollection(Of VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase)),
+ propertyInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetProperty("Deriveds", BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly),
+ fieldInfo:=GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalBase).GetField("_Deriveds", BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.DeclaredOnly))
+
+ Return runtimeForeignKey
+ End Function
+
+ Public Shared Sub CreateAnnotations(entityType As RuntimeEntityType)
+ Dim insertSproc As New RuntimeStoredProcedure(
+ entityType,
+ "PrincipalBase_Insert",
+ Nothing,
+ False)
+
+ Dim principalBaseId = insertSproc.AddParameter(
+ "PrincipalBaseId", System.Data.ParameterDirection.Input, False, "PrincipalBaseId", False)
+ Dim enum1 = insertSproc.AddParameter(
+ "Enum1", System.Data.ParameterDirection.Input, False, "Enum1", False)
+ Dim enum2 = insertSproc.AddParameter(
+ "Enum2", System.Data.ParameterDirection.Input, False, "Enum2", False)
+ Dim flagsEnum1 = insertSproc.AddParameter(
+ "FlagsEnum1", System.Data.ParameterDirection.Input, False, "FlagsEnum1", False)
+ Dim flagsEnum2 = insertSproc.AddParameter(
+ "FlagsEnum2", System.Data.ParameterDirection.Input, False, "FlagsEnum2", False)
+ Dim discriminator = insertSproc.AddParameter(
+ "Discriminator", System.Data.ParameterDirection.Input, False, "Discriminator", False)
+ Dim id = insertSproc.AddParameter(
+ "Id", System.Data.ParameterDirection.Output, False, "Id", False)
+ entityType.AddAnnotation("Relational:InsertStoredProcedure", insertSproc)
+
+ Dim deleteSproc As New RuntimeStoredProcedure(
+ entityType,
+ "PrincipalBase_Delete",
+ Nothing,
+ True)
+
+ Dim id0 = deleteSproc.AddParameter(
+ "Id_Original", System.Data.ParameterDirection.Input, False, "Id", True)
+ entityType.AddAnnotation("Relational:DeleteStoredProcedure", deleteSproc)
+
+ Dim updateSproc As New RuntimeStoredProcedure(
+ entityType,
+ "PrincipalBase_Update",
+ Nothing,
+ False)
+
+ Dim principalBaseId0 = updateSproc.AddParameter(
+ "PrincipalBaseId", System.Data.ParameterDirection.Input, False, "PrincipalBaseId", False)
+ Dim enum10 = updateSproc.AddParameter(
+ "Enum1", System.Data.ParameterDirection.Input, False, "Enum1", False)
+ Dim enum20 = updateSproc.AddParameter(
+ "Enum2", System.Data.ParameterDirection.Input, False, "Enum2", False)
+ Dim flagsEnum10 = updateSproc.AddParameter(
+ "FlagsEnum1", System.Data.ParameterDirection.Input, False, "FlagsEnum1", False)
+ Dim flagsEnum20 = updateSproc.AddParameter(
+ "FlagsEnum2", System.Data.ParameterDirection.Input, False, "FlagsEnum2", False)
+ Dim id1 = updateSproc.AddParameter(
+ "Id_Original", System.Data.ParameterDirection.Input, False, "Id", True)
+ entityType.AddAnnotation("Relational:UpdateStoredProcedure", updateSproc)
+
+ entityType.AddAnnotation("Relational:FunctionName", "PrincipalBaseTvf")
+ entityType.AddAnnotation("Relational:MappingStrategy", "TPH")
+ entityType.AddAnnotation("Relational:Schema", Nothing)
+ entityType.AddAnnotation("Relational:SqlQuery", "select * from PrincipalBase")
+ entityType.AddAnnotation("Relational:TableName", "PrincipalBase")
+ entityType.AddAnnotation("Relational:ViewDefinitionSql", Nothing)
+ entityType.AddAnnotation("Relational:ViewName", "PrincipalBaseView")
+ entityType.AddAnnotation("Relational:ViewSchema", Nothing)
+
+ Customize(entityType)
+ End Sub
+
+ Shared Partial Private Sub Customize(entityType As RuntimeEntityType)
+ End Sub
+ End Class
+End Namespace
+]]>.Value
+
+ Dim PrincipalDerivedEntityType =
+Imports System
+Imports System.Reflection
+Imports EntityFrameworkCore.VisualBasic.Scaffolding.Internal
+Imports Microsoft.EntityFrameworkCore.Metadata
+
+Namespace TestNamespace
+ Friend Partial Class PrincipalDerivedEntityType
+
+ Public Shared Function Create(model As RuntimeModel, Optional baseEntityType As RuntimeEntityType = Nothing) As RuntimeEntityType
+ Dim entityType = model.AddEntityType(
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalDerived>",
+ GetType(VisualBasicRuntimeModelCodeGeneratorTest.PrincipalDerived(Of VisualBasicRuntimeModelCodeGeneratorTest.DependentBase(Of Byte?))),
+ baseEntityType,
+ discriminatorProperty:="Discriminator",
+ discriminatorValue:="PrincipalDerived>")
+
+ Return entityType
+ End Function
+
+ Public Shared Sub CreateAnnotations(entityType As RuntimeEntityType)
+ entityType.AddAnnotation("Relational:FunctionName", Nothing)
+ entityType.AddAnnotation("Relational:Schema", Nothing)
+ entityType.AddAnnotation("Relational:SqlQuery", "select * from PrincipalBase")
+ entityType.AddAnnotation("Relational:TableName", "PrincipalBase")
+ entityType.AddAnnotation("Relational:ViewName", Nothing)
+ entityType.AddAnnotation("Relational:ViewSchema", Nothing)
+
+ Customize(entityType)
+ End Sub
+
+ Shared Partial Private Sub Customize(entityType As RuntimeEntityType)
+ End Sub
+ End Class
+End Namespace
+]]>.Value
+
+ Test(
+ New ComplexTypesContext(),
+ CreateCompiledModelCodeGenerationOptions(),
+ Sub(code)
+ Assert.
+ Collection(code,
+ Sub(c) AssertFileContents("ComplexTypesContextModel.vb", ComplexTypesContextModel, c),
+ Sub(c) AssertFileContents("ComplexTypesContextModelBuilder.vb", ComplexTypesContextModelBuilder, c),
+ Sub(c) AssertFileContents("PrincipalBaseEntityType.vb", PrincipalBaseEntityType, c),
+ Sub(c) AssertFileContents("PrincipalDerivedEntityType.vb", PrincipalDerivedEntityType, c))
+ End Sub,
+ Sub(Model)
+ Dim principalBaseET = Model.FindEntityType(GetType(PrincipalBase))
+
+ Dim complexProperty = principalBaseET.GetComplexProperties().Single()
+ Assert.Equal(
+ {"goo"},
+ complexProperty.GetAnnotations().Select(Function(a) a.Name))
+ Assert.Equal(NameOf(PrincipalBase.Owned), complexProperty.Name)
+ Assert.False(complexProperty.IsCollection)
+ Assert.False(complexProperty.IsNullable)
+ Assert.Equal(GetType(OwnedType), complexProperty.ClrType)
+ Assert.Equal("_ownedField", complexProperty.FieldInfo.Name)
+ Assert.Equal(NameOf(PrincipalBase.Owned), complexProperty.PropertyInfo.Name)
+ Assert.Equal(principalBaseET, complexProperty.DeclaringType)
+ Assert.Equal(PropertyAccessMode.Field, complexProperty.GetPropertyAccessMode())
+ Assert.Equal("ber", complexProperty("goo"))
+
+ Dim complexType = complexProperty.ComplexType
+ Assert.Equal(
+ {
+ RelationalAnnotationNames.FunctionName,
+ RelationalAnnotationNames.Schema,
+ RelationalAnnotationNames.SqlQuery,
+ RelationalAnnotationNames.TableName,
+ RelationalAnnotationNames.ViewName,
+ RelationalAnnotationNames.ViewSchema,
+ "go"
+ },
+ complexType.GetAnnotations().Select(Function(a) a.Name))
+ Assert.Equal(GetType(PrincipalBase).FullName & ".Owned#OwnedType", complexType.Name)
+ Assert.Equal(GetType(OwnedType), complexType.ClrType)
+ Assert.True(complexType.HasSharedClrType)
+ Assert.False(complexType.IsPropertyBag)
+ Assert.IsType(Of ConstructorBinding)(complexType.ConstructorBinding)
+ Assert.Null(complexType.FindIndexerPropertyInfo())
+ Assert.Equal(
+ ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues,
+ complexType.GetChangeTrackingStrategy())
+ Assert.Equal(
+ CoreStrings.RuntimeModelMissingData,
+ Assert.Throws(Of InvalidOperationException)(Sub() complexType.GetPropertyAccessMode()).Message)
+ Assert.Equal("brr", complexType("go"))
+
+ Dim detailsProperty = complexType.FindProperty(NameOf(OwnedType.Details))
+ Assert.Equal(
+ {
+ CoreAnnotationNames.MaxLength,
+ CoreAnnotationNames.Precision,
+ RelationalAnnotationNames.ColumnName,
+ RelationalAnnotationNames.ColumnType,
+ CoreAnnotationNames.Scale,
+ SqlServerAnnotationNames.ValueGenerationStrategy,
+ CoreAnnotationNames.Unicode,
+ "foo"
+ },
+ detailsProperty.GetAnnotations().Select(Function(a) a.Name))
+ Assert.Equal(GetType(String), detailsProperty.ClrType)
+ Assert.Equal(GetType(String), detailsProperty.PropertyInfo.PropertyType)
+ Assert.Equal(GetType(String), detailsProperty.FieldInfo.FieldType)
+ Assert.Equal("_details", detailsProperty.FieldInfo.Name)
+ Assert.True(detailsProperty.IsNullable)
+ Assert.Equal(ValueGenerated.OnAddOrUpdate, detailsProperty.ValueGenerated)
+ Assert.Equal(PropertySaveBehavior.Ignore, detailsProperty.GetAfterSaveBehavior())
+ Assert.Equal(PropertySaveBehavior.Ignore, detailsProperty.GetBeforeSaveBehavior())
+ Assert.Equal("Deets", detailsProperty.GetColumnName())
+ Assert.Equal("varchar(64)", detailsProperty.GetColumnType())
+ Assert.False(detailsProperty.IsUnicode())
+ Assert.True(detailsProperty.IsConcurrencyToken)
+ Assert.Equal(64, detailsProperty.GetMaxLength())
+ Assert.Null(detailsProperty.IsFixedLength())
+ Assert.Equal(3, detailsProperty.GetPrecision())
+ Assert.Equal(2, detailsProperty.GetScale())
+ Assert.Equal("", detailsProperty.Sentinel)
+ Assert.Equal(PropertyAccessMode.FieldDuringConstruction, detailsProperty.GetPropertyAccessMode())
+ Assert.Null(detailsProperty.GetValueConverter())
+ Assert.NotNull(detailsProperty.GetValueComparer())
+ Assert.NotNull(detailsProperty.GetKeyValueComparer())
+ Assert.Equal(SqlServerValueGenerationStrategy.None, detailsProperty.GetValueGenerationStrategy())
+ Assert.Null(detailsProperty.GetDefaultValueSql())
+ Assert.Equal(
+ CoreStrings.RuntimeModelMissingData,
+ Assert.Throws(Of InvalidOperationException)(Sub() detailsProperty.GetIdentitySeed()).Message)
+ Assert.Equal(
+ CoreStrings.RuntimeModelMissingData,
+ Assert.Throws(Of InvalidOperationException)(Sub() detailsProperty.GetIdentityIncrement()).Message)
+ Assert.Equal(
+ CoreStrings.RuntimeModelMissingData,
+ Assert.Throws(Of InvalidOperationException)(Sub() detailsProperty.IsSparse()).Message)
+ Assert.Equal(
+ CoreStrings.RuntimeModelMissingData,
+ Assert.Throws(Of InvalidOperationException)(Sub() detailsProperty.GetCollation()).Message)
+ Assert.Equal(
+ CoreStrings.RuntimeModelMissingData,
+ Assert.Throws(Of InvalidOperationException)(Sub() detailsProperty.GetComment()).Message)
+ Assert.Equal(
+ CoreStrings.RuntimeModelMissingData,
+ Assert.Throws(Of InvalidOperationException)(Sub() detailsProperty.GetColumnOrder()).Message)
+
+ Dim nestedComplexType = complexType.FindComplexProperty(NameOf(OwnedType.Principal)).ComplexType
+
+ Assert.Equal(6, nestedComplexType.GetProperties().Count())
+
+ Dim principalTable = StoreObjectIdentifier.Create(complexType, StoreObjectType.Table).Value
+
+ Assert.Equal("Deets", detailsProperty.GetColumnName(principalTable))
+
+ Dim dbFunction = Model.FindDbFunction("PrincipalBaseTvf")
+ Assert.Equal("dbo", dbFunction.Schema)
+ Assert.False(dbFunction.IsNullable)
+ Assert.False(dbFunction.IsScalar)
+ Assert.False(dbFunction.IsBuiltIn)
+ Assert.False(dbFunction.IsAggregate)
+ Assert.Null(dbFunction.Translation)
+ Assert.Null(dbFunction.TypeMapping)
+ Assert.Equal(GetType(IQueryable(Of PrincipalBase)), dbFunction.ReturnType)
+ Assert.Null(dbFunction.MethodInfo)
+ Assert.Empty(dbFunction.GetAnnotations())
+ Assert.Empty(dbFunction.GetRuntimeAnnotations())
+ Assert.Equal("PrincipalBaseTvf", dbFunction.StoreFunction.Name)
+ Assert.False(dbFunction.StoreFunction.IsShared)
+ Assert.NotNull(dbFunction.ToString())
+ Assert.Empty(dbFunction.Parameters)
+
+ Dim principalBaseFunctionMapping = principalBaseET.GetFunctionMappings().Single(Function(m) m.IsDefaultFunctionMapping)
+ Assert.True(principalBaseFunctionMapping.IncludesDerivedTypes)
+ Assert.Null(principalBaseFunctionMapping.IsSharedTablePrincipal)
+ Assert.Null(principalBaseFunctionMapping.IsSplitEntityTypePrincipal)
+ Assert.Same(dbFunction, principalBaseFunctionMapping.DbFunction)
+
+ Dim principalDerived = Model.FindEntityType(GetType(PrincipalDerived(Of DependentBase(Of Byte?))))
+ Assert.Equal(principalBaseET, principalDerived.BaseType)
+
+ Assert.Equal(
+ {principalBaseET, principalDerived},
+ Model.GetEntityTypes())
+ End Sub,
+ Nothing)
+ End Sub
+
+ Public Class BigContextWithJson
+ Inherits BigContext
+
+ Public Sub New()
+ MyBase.New(jsonColumns:=True)
+ End Sub
+ End Class
+
+ Public Class BigContext
+ Inherits SqlServerContextBase
+
+ Private ReadOnly _jsonColumns As Boolean
+
+ Public Sub New(Optional jsonColumns As Boolean = False)
+ _jsonColumns = jsonColumns
+ End Sub
+
+ Protected Overrides Sub OnModelCreating(modelBuilder As ModelBuilder)
+ MyBase.OnModelCreating(modelBuilder)
+
+ modelBuilder.
+ UseCollation("Latin1_General_CS_AS").
+ UseIdentityColumns(3, 2)
+
+ modelBuilder.Entity(Of PrincipalBase)(
+ Sub(eb)
+ If Not _jsonColumns Then
+ eb.Property(Function(e) e.Id).
+ UseIdentityColumn(2, 3).
+ Metadata.
+ SetColumnName("DerivedId", StoreObjectIdentifier.
+ Table("PrincipalDerived"))
+ End If
+
+ eb.Property(Function(e) e.FlagsEnum2).
+ HasSentinel(AFlagsEnum.C Or AFlagsEnum.B)
+
+ eb.Property(Function(e) e.AlternateId).
+ UsePropertyAccessMode(PropertyAccessMode.FieldDuringConstruction)
+
+ eb.Property(Of Point)("Point").
+ HasColumnType("geometry").
+ HasDefaultValue(NtsGeometryServices.Instance.CreateGeometryFactory(srid:=0).
+ CreatePoint(New CoordinateZM(0, 0, 0, 0))).
+ HasConversion(Of CastingConverter(Of Point, Point), CustomValueComparer(Of Point), CustomValueComparer(Of Point))()
+
+ eb.HasIndex(Function(e) New With {e.AlternateId, e.Id})
+
+ eb.HasKey(Function(e) New With {e.Id, e.AlternateId}).HasName("PK").
+ IsClustered()
+
+ eb.HasAlternateKey(Function(e) e.Id)
+
+ eb.Property(Function(e) e.AlternateId).Metadata.SetJsonValueReaderWriterType(
+ If(_jsonColumns,
+ GetType(MyJsonGuidReaderWriter),
+ GetType(JsonGuidReaderWriter)))
+
+ eb.OwnsOne(
+ Function(e) e.Owned,
+ Sub(ob)
+ ob.HasChangeTrackingStrategy(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues)
+ ob.UsePropertyAccessMode(PropertyAccessMode.Field)
+ ob.Property(Function(e) e.Details).
+ IsSparse().
+ UseCollation("Latin1_General_CI_AI")
+
+ If _jsonColumns Then
+ ob.ToJson()
+ Else
+ ob.ToTable("PrincipalBase", "mySchema",
+ Sub(t) t.Property("PrincipalBaseId").UseIdentityColumn(2, 3))
+
+ ob.SplitToTable("Details", Sub(s) s.Property(Function(e) e.Details))
+
+ ob.HasData(New With {
+ .Number = 10,
+ .PrincipalBaseId = 1L,
+ .PrincipalBaseAlternateId = New Guid()
+ })
+ End If
+ End Sub)
+
+ eb.Navigation(Function(e) e.Owned).
+ IsRequired().
+ HasField("_ownedField").
+ UsePropertyAccessMode(PropertyAccessMode.Field)
+
+ If Not _jsonColumns Then
+ eb.HasData(New PrincipalBase With {.Id = 1, .AlternateId = New Guid()})
+
+ eb.ToTable("PrincipalBase", "mySchema")
+ End If
+ End Sub)
+
+ modelBuilder.Entity(Of PrincipalDerived(Of DependentBase(Of Byte?)))(
+ Sub(eb)
+ eb.HasOne(Function(e) e.Dependent).
+ WithOne(Function(e) e.Principal).
+ HasForeignKey(Of DependentBase(Of Byte?))().
+ OnDelete(DeleteBehavior.ClientNoAction)
+
+ eb.Navigation(Function(e) e.Dependent).AutoInclude().EnableLazyLoading(False)
+
+ eb.OwnsMany(GetType(OwnedType).FullName, "ManyOwned",
+ Sub(ob)
+ If _jsonColumns Then
+ ob.ToJson()
+ Else
+ ob.ToTable("ManyOwned", Sub(t) t.IsMemoryOptimized().ExcludeFromMigrations())
+ End If
+ End Sub)
+
+ eb.HasMany(Function(e) e.Principals).
+ WithMany(Function(e) DirectCast(e.Deriveds, ICollection(Of PrincipalDerived(Of DependentBase(Of Byte?))))).
+ UsingEntity(
+ Sub(jb)
+ jb.ToTable(Function(tb) tb.HasComment("Join table"))
+ jb.Property(Of Byte())("rowid").
+ IsRowVersion().
+ HasComment("RowVersion").
+ HasColumnOrder(1)
+ End Sub)
+
+ eb.Navigation(Function(e) e.Principals).AutoInclude().EnableLazyLoading(False)
+
+ If Not _jsonColumns Then
+ eb.ToTable("PrincipalDerived")
+ End If
+ End Sub)
+
+ modelBuilder.Entity(Of DependentBase(Of Byte?))(
+ Sub(eb)
+ eb.Property(Of Byte?)("Id")
+
+ eb.HasKey({"PrincipalId", "PrincipalAlternateId"})
+
+ eb.HasOne(Of PrincipalBase)().
+ WithOne().
+ HasForeignKey(Of DependentBase(Of Byte?))("PrincipalId").
+ HasPrincipalKey(Of PrincipalBase)(Function(e) e.Id)
+
+ eb.HasDiscriminator(Of Enum1)("EnumDiscriminator").
+ HasValue(Enum1.One).
+ HasValue(Of DependentDerived(Of Byte?))(Enum1.Two).
+ IsComplete(False)
+ End Sub)
+
+ modelBuilder.Entity(Of DependentDerived(Of Byte?))(
+ Sub(eb)
+ eb.Property(Of String)("Data").
+ HasMaxLength(20).
+ IsFixedLength().
+ IsUnicode(False)
+
+ eb.Property(Of Decimal)("Money").
+ HasPrecision(9, 3)
+ End Sub)
+ End Sub
+ End Class
+
+ Public Class ComplexTypesContext
+ Inherits SqlServerContextBase
+
+ Protected Overrides Sub OnModelCreating(modelBuilder As ModelBuilder)
+ MyBase.OnModelCreating(modelBuilder)
+
+ modelBuilder.Entity(Of PrincipalBase)(
+ Sub(eb)
+ eb.ComplexProperty(
+ Function(e) e.Owned,
+ Sub(ceb)
+ ceb.IsRequired().
+ HasField("_ownedField").
+ UsePropertyAccessMode(PropertyAccessMode.Field).
+ HasChangeTrackingStrategy(ChangeTrackingStrategy.ChangingAndChangedNotificationsWithOriginalValues).
+ HasPropertyAnnotation("goo", "ber").
+ HasTypeAnnotation("go", "brr")
+ ceb.Property(Function(c) c.Details).
+ HasColumnName("Deets").
+ HasColumnOrder(1).
+ HasColumnType("varchar").
+ IsUnicode(False).
+ IsRequired(False).
+ HasField("_details").
+ HasSentinel("").
+ UsePropertyAccessMode(PropertyAccessMode.FieldDuringConstruction).
+ IsSparse().
+ UseCollation("Latin1_General_CI_AI").
+ HasMaxLength(64).
+ HasPrecision(3, 2).
+ HasComment("Dt").
+ IsRowVersion().
+ HasAnnotation("foo", "bar")
+ ceb.Ignore(Function(e) e.Context)
+ ceb.ComplexProperty(Function(o) o.Principal)
+ End Sub)
+
+ eb.ToTable("PrincipalBase")
+ eb.ToView("PrincipalBaseView")
+ eb.ToSqlQuery("select * from PrincipalBase")
+ eb.ToFunction("PrincipalBaseTvf")
+
+ eb.InsertUsingStoredProcedure(
+ Sub(s) s.HasParameter("PrincipalBaseId").
+ HasParameter("Enum1").
+ HasParameter("Enum2").
+ HasParameter("FlagsEnum1").
+ HasParameter("FlagsEnum2").
+ HasParameter("Discriminator").
+ HasParameter(Function(p) p.Id, Function(p) p.IsOutput()))
+
+ eb.UpdateUsingStoredProcedure(
+ Sub(s) s.HasParameter("PrincipalBaseId").
+ HasParameter("Enum1").
+ HasParameter("Enum2").
+ HasParameter("FlagsEnum1").
+ HasParameter("FlagsEnum2").
+ HasOriginalValueParameter(Function(p) p.Id))
+
+ eb.DeleteUsingStoredProcedure(
+ Sub(s) s.HasRowsAffectedReturnValue().
+ HasOriginalValueParameter(Function(p) p.Id))
+ End Sub)
+
+ modelBuilder.Entity(Of PrincipalDerived(Of DependentBase(Of Byte?)))(
+ Sub(eb)
+ ' eb.ComplexCollection(TypeOf(OwnedType).Name, "ManyOwned")
+ eb.Ignore(Function(p) p.Dependent)
+ eb.Ignore(Function(p) p.Principals)
+ eb.ToTable("PrincipalBase")
+ eb.ToFunction(CType(Nothing, String))
+ End Sub)
+ End Sub
+ End Class
+
+
+ Public Sub TPC_model()
+
+ Dim rm1 =
+
+Imports EntityFrameworkCore.VisualBasic.Scaffolding.Internal
+Imports Microsoft.EntityFrameworkCore.Infrastructure
+Imports Microsoft.EntityFrameworkCore.Metadata
+
+Namespace TestNamespace
+
+ Public Partial Class TpcContextModel
+ Inherits RuntimeModel
+
+ Private Shared _Instance As TpcContextModel
+ Public Shared ReadOnly Property Instance As IModel
+ Get
+ Return _Instance
+ End Get
+ End Property
+
+ Shared Sub New()
+ Dim model As New TpcContextModel()
+ model.Initialize()
+ model.Customize()
+ _Instance = model
+ End Sub
+
+ Partial Private Sub Initialize()
+ End Sub
+
+ Partial Private Sub Customize()
+ End Sub
+ End Class
+End Namespace
+]]>.Value
+
+ Dim rm2 =
+
+Imports System
+Imports System.Collections.Generic
+Imports Microsoft.EntityFrameworkCore
+Imports Microsoft.EntityFrameworkCore.Infrastructure
+Imports Microsoft.EntityFrameworkCore.Metadata
+Imports Microsoft.EntityFrameworkCore.Metadata.Internal
+Imports Microsoft.EntityFrameworkCore.Migrations
+
+Namespace TestNamespace
+ Public Partial Class TpcContextModel
+
+ Private Sub Initialize()
+ Dim dependentBase = DependentBaseEntityType.Create(Me)
+ Dim principalBase = PrincipalBaseEntityType.Create(Me)
+ Dim principalDerived = PrincipalDerivedEntityType.Create(Me, principalBase)
+
+ DependentBaseEntityType.CreateForeignKey1(dependentBase, principalDerived)
+ PrincipalBaseEntityType.CreateForeignKey1(principalBase, principalBase)
+ PrincipalBaseEntityType.CreateForeignKey2(principalBase, principalDerived)
+
+ DependentBaseEntityType.CreateAnnotations(dependentBase)
+ PrincipalBaseEntityType.CreateAnnotations(principalBase)
+ PrincipalDerivedEntityType.CreateAnnotations(principalDerived)
+
+ Dim sequences As New SortedDictionary(Of (String, String), ISequence)()
+ Dim principalBaseSequence As New RuntimeSequence(
+ "PrincipalBaseSequence",
+ Me,
+ GetType(Long),
+ schema:="TPC",
+ modelSchemaIsNull:=True)
+
+ sequences(("PrincipalBaseSequence", Nothing)) = principalBaseSequence
+
+ AddAnnotation("Relational:Sequences", sequences)
+ AddAnnotation("Relational:DefaultSchema", "TPC")
+ AddAnnotation("Relational:MaxIdentifierLength", 128)
+ AddAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn)
+ AddRuntimeAnnotation("Relational:RelationalModel", CreateRelationalModel())
+ End Sub
+
+ Private Function CreateRelationalModel() As IRelationalModel
+ Dim relationalModel As New RelationalModel(Me)
+
+ Dim dependentBase = FindEntityType("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase")
+
+ Dim defaultTableMappings As New List(Of TableMappingBase(Of ColumnMappingBase))()
+ dependentBase.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase As New TableBase("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase", Nothing, relationalModel)
+ Dim idColumnBase As New ColumnBase(Of ColumnMappingBase)("Id", "tinyint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.Columns.Add("Id", idColumnBase)
+ Dim principalIdColumnBase As New ColumnBase(Of ColumnMappingBase)("PrincipalId", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase) With {
+ .IsNullable = True
+ }
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.Columns.Add("PrincipalId", principalIdColumnBase)
+ relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase As New TableMappingBase(Of ColumnMappingBase)(dependentBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase, True)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
+ defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), dependentBase.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
+ RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("PrincipalId"), ColumnBase(Of ColumnMappingBase)), dependentBase.FindProperty("PrincipalId"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
+
+ Dim tableMappings As New List(Of TableMapping)()
+ dependentBase.SetRuntimeAnnotation("Relational:TableMappings", tableMappings)
+ Dim dependentBasebyteTable As New Table("DependentBase", "TPC", relationalModel)
+ Dim idColumn As New Column("Id", "tinyint", dependentBasebyteTable)
+ dependentBasebyteTable.Columns.Add("Id", idColumn)
+ Dim principalIdColumn As New Column("PrincipalId", "bigint", dependentBasebyteTable) With {
+ .IsNullable = True
+ }
+ dependentBasebyteTable.Columns.Add("PrincipalId", principalIdColumn)
+ Dim pK_DependentBasebyte As New UniqueConstraint("PK_DependentBase", dependentBasebyteTable, {idColumn})
+ dependentBasebyteTable.PrimaryKey = pK_DependentBasebyte
+ Dim pK_DependentBasebyteUc = RelationalModel.GetKey(Me,
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase",
+ {"Id"})
+ pK_DependentBasebyte.MappedKeys.Add(pK_DependentBasebyteUc)
+ RelationalModel.GetOrCreateUniqueConstraints(pK_DependentBasebyteUc).Add(pK_DependentBasebyte)
+ dependentBasebyteTable.UniqueConstraints.Add("PK_DependentBase", pK_DependentBasebyte)
+ Dim iX_DependentBasebyte_PrincipalId As New TableIndex(
+ "IX_DependentBase_PrincipalId", dependentBasebyteTable, {principalIdColumn}, True)
+ Dim iX_DependentBasebyte_PrincipalIdIx = RelationalModel.GetIndex(Me,
+ "EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DependentBase",
+ {"PrincipalId"})
+ iX_DependentBasebyte_PrincipalId.MappedIndexes.Add(iX_DependentBasebyte_PrincipalIdIx)
+ RelationalModel.GetOrCreateTableIndexes(iX_DependentBasebyte_PrincipalIdIx).Add(iX_DependentBasebyte_PrincipalId)
+ dependentBasebyteTable.Indexes.Add("IX_DependentBase_PrincipalId", iX_DependentBasebyte_PrincipalId)
+ relationalModel.Tables.Add(("DependentBase", "TPC"), dependentBasebyteTable)
+ Dim dependentBasebyteTableMapping As New TableMapping(dependentBase, dependentBasebyteTable, True)
+ dependentBasebyteTable.AddTypeMapping(dependentBasebyteTableMapping, False)
+ tableMappings.Add(dependentBasebyteTableMapping)
+ RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("Id"), dependentBase.FindProperty("Id"), dependentBasebyteTableMapping)
+ RelationalModel.CreateColumnMapping(dependentBasebyteTable.FindColumn("PrincipalId"), dependentBase.FindProperty("PrincipalId"), dependentBasebyteTableMapping)
+
+ Dim principalBase = FindEntityType("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase")
+
+ Dim defaultTableMappings0 As New List(Of TableMappingBase(Of ColumnMappingBase))()
+ principalBase.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings0)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase As New TableBase("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase", Nothing, relationalModel)
+ Dim enum1ColumnBase As New ColumnBase(Of ColumnMappingBase)("Enum1", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Enum1", enum1ColumnBase)
+ Dim enum2ColumnBase As New ColumnBase(Of ColumnMappingBase)("Enum2", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase) With {
+ .IsNullable = True
+ }
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Enum2", enum2ColumnBase)
+ Dim flagsEnum1ColumnBase As New ColumnBase(Of ColumnMappingBase)("FlagsEnum1", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("FlagsEnum1", flagsEnum1ColumnBase)
+ Dim flagsEnum2ColumnBase As New ColumnBase(Of ColumnMappingBase)("FlagsEnum2", "int", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("FlagsEnum2", flagsEnum2ColumnBase)
+ Dim idColumnBase0 As New ColumnBase(Of ColumnMappingBase)("Id", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("Id", idColumnBase0)
+ Dim principalBaseIdColumnBase As New ColumnBase(Of ColumnMappingBase)("PrincipalBaseId", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase) With {
+ .IsNullable = True
+ }
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("PrincipalBaseId", principalBaseIdColumnBase)
+ Dim principalDerivedDependentBasebyteIdColumnBase As New ColumnBase(Of ColumnMappingBase)("PrincipalDerived>Id", "bigint", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase) With {
+ .IsNullable = True
+ }
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.Columns.Add("PrincipalDerived>Id", principalDerivedDependentBasebyteIdColumnBase)
+ relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalBase", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase)
+ Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalBase, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase, False)
+ defaultTableMappings0.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Enum1"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Enum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseTableBase.FindColumn("Enum2"), ColumnBase(Of ColumnMappingBase)), principalBase.FindProperty("Enum2"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalBaseMappingBase)
@@ -4823,7 +5881,7 @@ Namespace TestNamespace
principalBaseTable.Indexes.Add("PIX", pIX)
relationalModel.Tables.Add(("PrincipalBase", "TPC"), principalBaseTable)
Dim principalBaseTableMapping As New TableMapping(principalBase, principalBaseTable, False)
- principalBaseTable.AddEntityTypeMapping(principalBaseTableMapping, False)
+ principalBaseTable.AddTypeMapping(principalBaseTableMapping, False)
tableMappings0.Add(principalBaseTableMapping)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Id"), principalBase.FindProperty("Id"), principalBaseTableMapping)
RelationalModel.CreateColumnMapping(principalBaseTable.FindColumn("Enum1"), principalBase.FindProperty("Enum1"), principalBaseTableMapping)
@@ -4858,7 +5916,7 @@ Namespace TestNamespace
principalBaseViewView.Columns.Add("PrincipalDerivedId", principalDerivedIdViewColumn)
relationalModel.Views.Add(("PrincipalBaseView", "TPC"), principalBaseViewView)
Dim principalBaseViewViewMapping As New ViewMapping(principalBase, principalBaseViewView, False)
- principalBaseViewView.AddEntityTypeMapping(principalBaseViewViewMapping, False)
+ principalBaseViewView.AddTypeMapping(principalBaseViewViewMapping, False)
viewMappings.Add(principalBaseViewViewMapping)
RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("Id"), principalBase.FindProperty("Id"), principalBaseViewViewMapping)
RelationalModel.CreateViewColumnMapping(principalBaseViewView.FindColumn("Enum1"), principalBase.FindProperty("Enum1"), principalBaseViewViewMapping)
@@ -4878,7 +5936,7 @@ Namespace TestNamespace
relationalModel.StoredProcedures.Add(("PrincipalBase_Delete", "TPC"), principalBase_DeleteStoreSproc)
Dim principalBase_DeleteDSproc = DirectCast(principalBase.GetDeleteStoredProcedure(), IRuntimeStoredProcedure)
Dim principalBase_DeleteSprocMapping As New StoredProcedureMapping(principalBase, principalBase_DeleteStoreSproc, DirectCast(principalBase.GetDeleteStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping, False)
- principalBase_DeleteStoreSproc.AddEntityTypeMapping(principalBase_DeleteSprocMapping, False)
+ principalBase_DeleteStoreSproc.AddTypeMapping(principalBase_DeleteSprocMapping, False)
deleteSprocMappings.Add(principalBase_DeleteSprocMapping)
principalBaseTableMapping.DeleteStoredProcedureMapping = principalBase_DeleteSprocMapping
RelationalModel.CreateStoredProcedureParameterMapping(id_OriginalParameter, principalBase_DeleteDSproc.FindParameter("Id_Original"), principalBase.FindProperty("Id"), principalBase_DeleteSprocMapping)
@@ -4910,7 +5968,7 @@ Namespace TestNamespace
relationalModel.StoredProcedures.Add(("PrincipalBase_Insert", "TPC"), principalBase_InsertStoreSproc)
Dim principalBase_InsertISproc = DirectCast(principalBase.GetInsertStoredProcedure(), IRuntimeStoredProcedure)
Dim principalBase_InsertSprocMapping As New StoredProcedureMapping(principalBase, principalBase_InsertStoreSproc, DirectCast(principalBase.GetInsertStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping, False)
- principalBase_InsertStoreSproc.AddEntityTypeMapping(principalBase_InsertSprocMapping, False)
+ principalBase_InsertStoreSproc.AddTypeMapping(principalBase_InsertSprocMapping, False)
insertSprocMappings.Add(principalBase_InsertSprocMapping)
principalBaseTableMapping.InsertStoredProcedureMapping = principalBase_InsertSprocMapping
RelationalModel.CreateStoredProcedureParameterMapping(baseIdParameter, principalBase_InsertISproc.FindParameter("BaseId"), principalBase.FindProperty("Id"), principalBase_InsertSprocMapping)
@@ -4948,7 +6006,7 @@ Namespace TestNamespace
relationalModel.StoredProcedures.Add(("PrincipalBase_Update", "TPC"), principalBase_UpdateStoreSproc)
Dim principalBase_UpdateUSproc = DirectCast(principalBase.GetUpdateStoredProcedure(), IRuntimeStoredProcedure)
Dim principalBase_UpdateSprocMapping As New StoredProcedureMapping(principalBase, principalBase_UpdateStoreSproc, DirectCast(principalBase.GetUpdateStoredProcedure(), IRuntimeStoredProcedure), principalBaseTableMapping, False)
- principalBase_UpdateStoreSproc.AddEntityTypeMapping(principalBase_UpdateSprocMapping, False)
+ principalBase_UpdateStoreSproc.AddTypeMapping(principalBase_UpdateSprocMapping, False)
updateSprocMappings.Add(principalBase_UpdateSprocMapping)
principalBaseTableMapping.UpdateStoredProcedureMapping = principalBase_UpdateSprocMapping
RelationalModel.CreateStoredProcedureParameterMapping(id_OriginalParameter0, principalBase_UpdateUSproc.FindParameter("Id_Original"), principalBase.FindProperty("Id"), principalBase_UpdateSprocMapping)
@@ -4986,7 +6044,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.Columns.Add("PrincipalDerived>Id", principalDerivedDependentBasebyteIdColumnBase0)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+PrincipalDerived>", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase As New TableMappingBase(Of ColumnMappingBase)(principalDerived, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase, False)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase, False)
defaultTableMappings1.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteTableBase.FindColumn("Enum1"), ColumnBase(Of ColumnMappingBase)), principalDerived.FindProperty("Enum1"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestPrincipalDerivedEntityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDependentBasebyteMappingBase)
@@ -5045,7 +6103,7 @@ Namespace TestNamespace
principalDerivedTable.Indexes.Add("PIX", pIX0)
relationalModel.Tables.Add(("PrincipalDerived", "TPC"), principalDerivedTable)
Dim principalDerivedTableMapping As New TableMapping(principalDerived, principalDerivedTable, False)
- principalDerivedTable.AddEntityTypeMapping(principalDerivedTableMapping, False)
+ principalDerivedTable.AddTypeMapping(principalDerivedTableMapping, False)
tableMappings1.Add(principalDerivedTableMapping)
RelationalModel.CreateColumnMapping(principalDerivedTable.FindColumn("Id"), principalDerived.FindProperty("Id"), principalDerivedTableMapping)
RelationalModel.CreateColumnMapping(principalDerivedTable.FindColumn("Enum1"), principalDerived.FindProperty("Enum1"), principalDerivedTableMapping)
@@ -5080,7 +6138,7 @@ Namespace TestNamespace
principalDerivedViewView.Columns.Add("PrincipalDerivedId", principalDerivedIdViewColumn0)
relationalModel.Views.Add(("PrincipalDerivedView", "TPC"), principalDerivedViewView)
Dim principalDerivedViewViewMapping As New ViewMapping(principalDerived, principalDerivedViewView, False)
- principalDerivedViewView.AddEntityTypeMapping(principalDerivedViewViewMapping, False)
+ principalDerivedViewView.AddTypeMapping(principalDerivedViewViewMapping, False)
viewMappings0.Add(principalDerivedViewViewMapping)
RelationalModel.CreateViewColumnMapping(principalDerivedViewView.FindColumn("Id"), principalDerived.FindProperty("Id"), principalDerivedViewViewMapping)
RelationalModel.CreateViewColumnMapping(principalDerivedViewView.FindColumn("Enum1"), principalDerived.FindProperty("Enum1"), principalDerivedViewViewMapping)
@@ -5099,7 +6157,7 @@ Namespace TestNamespace
relationalModel.StoredProcedures.Add(("Derived_Delete", "TPC"), derived_DeleteStoreSproc)
Dim derived_DeleteDSproc = DirectCast(principalDerived.GetDeleteStoredProcedure(), IRuntimeStoredProcedure)
Dim derived_DeleteSprocMapping As New StoredProcedureMapping(principalDerived, derived_DeleteStoreSproc, DirectCast(principalDerived.GetDeleteStoredProcedure(), IRuntimeStoredProcedure), principalDerivedTableMapping, False)
- derived_DeleteStoreSproc.AddEntityTypeMapping(derived_DeleteSprocMapping, False)
+ derived_DeleteStoreSproc.AddTypeMapping(derived_DeleteSprocMapping, False)
deleteSprocMappings0.Add(derived_DeleteSprocMapping)
principalDerivedTableMapping.DeleteStoredProcedureMapping = derived_DeleteSprocMapping
RelationalModel.CreateStoredProcedureParameterMapping(id_OriginalParameter1, derived_DeleteDSproc.FindParameter("Id_Original"), principalDerived.FindProperty("Id"), derived_DeleteSprocMapping)
@@ -5131,7 +6189,7 @@ Namespace TestNamespace
relationalModel.StoredProcedures.Add(("Derived_Insert", "TPC"), derived_InsertStoreSproc)
Dim derived_InsertISproc = DirectCast(principalDerived.GetInsertStoredProcedure(), IRuntimeStoredProcedure)
Dim derived_InsertSprocMapping As New StoredProcedureMapping(principalDerived, derived_InsertStoreSproc, DirectCast(principalDerived.GetInsertStoredProcedure(), IRuntimeStoredProcedure), principalDerivedTableMapping, False)
- derived_InsertStoreSproc.AddEntityTypeMapping(derived_InsertSprocMapping, False)
+ derived_InsertStoreSproc.AddTypeMapping(derived_InsertSprocMapping, False)
insertSprocMappings0.Add(derived_InsertSprocMapping)
principalDerivedTableMapping.InsertStoredProcedureMapping = derived_InsertSprocMapping
RelationalModel.CreateStoredProcedureParameterMapping(enum1Parameter1, derived_InsertISproc.FindParameter("Enum1"), principalDerived.FindProperty("Enum1"), derived_InsertSprocMapping)
@@ -5169,7 +6227,7 @@ Namespace TestNamespace
relationalModel.StoredProcedures.Add(("Derived_Update", "Derived"), derived_UpdateStoreSproc)
Dim derived_UpdateUSproc = DirectCast(principalDerived.GetUpdateStoredProcedure(), IRuntimeStoredProcedure)
Dim derived_UpdateSprocMapping As New StoredProcedureMapping(principalDerived, derived_UpdateStoreSproc, DirectCast(principalDerived.GetUpdateStoredProcedure(), IRuntimeStoredProcedure), principalDerivedTableMapping, False)
- derived_UpdateStoreSproc.AddEntityTypeMapping(derived_UpdateSprocMapping, False)
+ derived_UpdateStoreSproc.AddTypeMapping(derived_UpdateSprocMapping, False)
updateSprocMappings0.Add(derived_UpdateSprocMapping)
principalDerivedTableMapping.UpdateStoredProcedureMapping = derived_UpdateSprocMapping
RelationalModel.CreateStoredProcedureParameterMapping(id_OriginalParameter2, derived_UpdateUSproc.FindParameter("Id_Original"), principalDerived.FindProperty("Id"), derived_UpdateSprocMapping)
@@ -6004,6 +7062,9 @@ End Namespace
Private _context As Microsoft.EntityFrameworkCore.DbContext
+ Public Sub New()
+ End Sub
+
Public Sub New(context As Microsoft.EntityFrameworkCore.DbContext)
Me.Context = context
End Sub
@@ -6020,11 +7081,23 @@ End Namespace
End Property
Public Property Number As Integer
+
+
+ Public Property Principal As PrincipalBase
+
+ Private _details As String
+
Public Property Details As String
+ Get
+ Return _details
+ End Get
+ Set
+ _details = Value
+ End Set
+ End Property
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Event PropertyChanging As PropertyChangingEventHandler Implements INotifyPropertyChanging.PropertyChanging
-
End Class
@@ -6212,7 +7285,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.Columns.Add("Blob", blobColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+Data", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase As New TableMappingBase(Of ColumnMappingBase)(data, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Blob"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Blob"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
@@ -6228,7 +7301,7 @@ Namespace TestNamespace
("GetAllData", "dbo", New String() {}),
getAllDataFunction)
Dim getAllDataFunctionMapping As New FunctionMapping(data, getAllDataFunction, getAllData, True)
- getAllDataFunction.AddEntityTypeMapping(getAllDataFunctionMapping, False)
+ getAllDataFunction.AddTypeMapping(getAllDataFunctionMapping, False)
functionMappings.Add(getAllDataFunctionMapping)
getAllDataFunctionMapping.IsDefaultFunctionMapping = True
RelationalModel.CreateFunctionColumnMapping(getAllDataFunction.FindColumn("Blob"), data.FindProperty("Blob"), getAllDataFunctionMapping)
@@ -6243,7 +7316,7 @@ Namespace TestNamespace
("GetData", "dbo", {"int"}),
getDataFunction)
Dim getDataFunctionMapping As New FunctionMapping(data, getDataFunction, getData, True)
- getDataFunction.AddEntityTypeMapping(getDataFunctionMapping, False)
+ getDataFunction.AddTypeMapping(getDataFunctionMapping, False)
functionMappings.Add(getDataFunctionMapping)
RelationalModel.CreateFunctionColumnMapping(getDataFunction.FindColumn("Blob"), data.FindProperty("Blob"), getDataFunctionMapping)
@@ -6254,7 +7327,7 @@ Namespace TestNamespace
Dim objectTableBase As New TableBase("object", Nothing, relationalModel)
relationalModel.DefaultTables.Add("object", objectTableBase)
Dim objectMappingBase As New TableMappingBase(Of ColumnMappingBase)([object], objectTableBase, True)
- objectTableBase.AddEntityTypeMapping(objectMappingBase, False)
+ objectTableBase.AddTypeMapping(objectMappingBase, False)
defaultTableMappings0.Add(objectMappingBase)
Dim functionMappings0 As New List(Of FunctionMapping)()
@@ -6265,7 +7338,7 @@ Namespace TestNamespace
("GetBlobs", "dbo", New String() {}),
getBlobsFunction)
Dim getBlobsFunctionMapping As New FunctionMapping([object], getBlobsFunction, getBlobs, True)
- getBlobsFunction.AddEntityTypeMapping(getBlobsFunctionMapping, False)
+ getBlobsFunction.AddTypeMapping(getBlobsFunctionMapping, False)
functionMappings0.Add(getBlobsFunctionMapping)
getBlobsFunctionMapping.IsDefaultFunctionMapping = True
Dim customerOrderCount = DirectCast(Me.FindDbFunction("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+DbFunctionContext.GetCount(System.Guid?,string)"), IRuntimeDbFunction)
@@ -6472,7 +7545,7 @@ End Namespace
Assert.Empty(getData.GetRuntimeAnnotations())
Assert.Null(getData.TypeMapping?.StoreType)
Assert.Null(getData.StoreFunction.ReturnType)
- Assert.Equal(GetType(Data), getData.StoreFunction.EntityTypeMappings.Single().EntityType.ClrType)
+ Assert.Equal(GetType(Data), getData.StoreFunction.EntityTypeMappings.Single().TypeBase.ClrType)
Assert.Single(getData.Parameters)
Dim getDataParameter = getData.Parameters(0)
@@ -6500,7 +7573,7 @@ End Namespace
Assert.Empty(getDataParameterless.GetAnnotations())
Assert.Empty(getDataParameterless.GetRuntimeAnnotations())
Assert.False(getDataParameterless.StoreFunction.IsBuiltIn)
- Assert.Equal(GetType(Data), getDataParameterless.StoreFunction.EntityTypeMappings.Single().EntityType.ClrType)
+ Assert.Equal(GetType(Data), getDataParameterless.StoreFunction.EntityTypeMappings.Single().TypeBase.ClrType)
Assert.Equal(0, getDataParameterless.Parameters.Count)
Assert.Equal(2, model.GetEntityTypes().Count())
@@ -6708,7 +7781,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.Columns.Add("Id", idColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+Data", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase As New TableMappingBase(Of ColumnMappingBase)(data, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Blob"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Blob"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
@@ -6732,7 +7805,7 @@ Namespace TestNamespace
dataTable.UniqueConstraints.Add("PK_Data", pK_Data)
relationalModel.Tables.Add(("Data", Nothing), dataTable)
Dim dataTableMapping As New TableMapping(data, dataTable, True)
- dataTable.AddEntityTypeMapping(dataTableMapping, False)
+ dataTable.AddTypeMapping(dataTableMapping, False)
tableMappings.Add(dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Id"), data.FindProperty("Id"), dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Blob"), data.FindProperty("Blob"), dataTableMapping)
@@ -6945,7 +8018,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.Columns.Add("Id", idColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+Data", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase As New TableMappingBase(Of ColumnMappingBase)(data, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Blob"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Blob"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
@@ -6969,7 +8042,7 @@ Namespace TestNamespace
dataTable.UniqueConstraints.Add("PK_Data", pK_Data)
relationalModel.Tables.Add(("Data", Nothing), dataTable)
Dim dataTableMapping As New TableMapping(data, dataTable, True)
- dataTable.AddEntityTypeMapping(dataTableMapping, False)
+ dataTable.AddTypeMapping(dataTableMapping, False)
tableMappings.Add(dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Id"), data.FindProperty("Id"), dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Blob"), data.FindProperty("Blob"), dataTableMapping)
@@ -7157,7 +8230,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.Columns.Add("Id", idColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+Data", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase As New TableMappingBase(Of ColumnMappingBase)(data, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Blob"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Blob"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
@@ -7181,7 +8254,7 @@ Namespace TestNamespace
dataTable.UniqueConstraints.Add("PK_Data", pK_Data)
relationalModel.Tables.Add(("Data", Nothing), dataTable)
Dim dataTableMapping As New TableMapping(data, dataTable, True)
- dataTable.AddEntityTypeMapping(dataTableMapping, False)
+ dataTable.AddTypeMapping(dataTableMapping, False)
tableMappings.Add(dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Id"), data.FindProperty("Id"), dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Blob"), data.FindProperty("Blob"), dataTableMapping)
@@ -7355,7 +8428,7 @@ Namespace TestNamespace
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.Columns.Add("Id", idColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+Data", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase As New TableMappingBase(Of ColumnMappingBase)(data, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Blob"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Blob"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
@@ -7381,7 +8454,7 @@ Namespace TestNamespace
dataTable.Triggers.Add("Trigger2", data.FindDeclaredTrigger("Trigger2"))
relationalModel.Tables.Add(("Data", Nothing), dataTable)
Dim dataTableMapping As New TableMapping(data, dataTable, True)
- dataTable.AddEntityTypeMapping(dataTableMapping, False)
+ dataTable.AddTypeMapping(dataTableMapping, False)
tableMappings.Add(dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Id"), data.FindProperty("Id"), dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Blob"), data.FindProperty("Blob"), dataTableMapping)
@@ -7564,7 +8637,7 @@ Namespace Microsoft.EntityFrameworkCore.Metadata
entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.Columns.Add("Point", pointColumnBase)
relationalModel.DefaultTables.Add("EntityFrameworkCore.VisualBasic.Scaffolding.Internal.VisualBasicRuntimeModelCodeGeneratorTest+Data", entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase)
Dim entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase As New TableMappingBase(Of ColumnMappingBase)(data, entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase, True)
- entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddEntityTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
+ entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.AddTypeMapping(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase, False)
defaultTableMappings.Add(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Id"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Id"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
RelationalModel.CreateColumnMapping(DirectCast(entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataTableBase.FindColumn("Blob"), ColumnBase(Of ColumnMappingBase)), data.FindProperty("Blob"), entityFrameworkCoreVisualBasicScaffoldingInternalVisualBasicRuntimeModelCodeGeneratorTestDataMappingBase)
@@ -7593,7 +8666,7 @@ Namespace Microsoft.EntityFrameworkCore.Metadata
dataTable.UniqueConstraints.Add("PK_Data", pK_Data)
relationalModel.Tables.Add(("Data", Nothing), dataTable)
Dim dataTableMapping As New TableMapping(data, dataTable, True)
- dataTable.AddEntityTypeMapping(dataTableMapping, False)
+ dataTable.AddTypeMapping(dataTableMapping, False)
tableMappings.Add(dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Id"), data.FindProperty("Id"), dataTableMapping)
RelationalModel.CreateColumnMapping(dataTable.FindColumn("Blob"), data.FindProperty("Blob"), dataTableMapping)
@@ -8109,10 +9182,10 @@ End Namespace
.Add(BuildReference.ByName(GetType(MyJsonGuidReaderWriter).Assembly.GetName().Name))
End With
- Dim Assembly = build.BuildInMemory()
+ Dim assembly = build.BuildInMemory()
Dim modelTypeName = options.ContextType.Name & "Model"
- Dim modelType = Assembly.GetType(
+ Dim modelType = assembly.GetType(
If(String.IsNullOrEmpty(options.ModelNamespace),
modelTypeName,
options.ModelNamespace & "." & modelTypeName))
diff --git a/Test/EFCore.VisualBasic.Test/TestUtilities/BuildSource.vb b/Test/EFCore.VisualBasic.Test/TestUtilities/BuildSource.vb
index a4af97b..ae7d332 100644
--- a/Test/EFCore.VisualBasic.Test/TestUtilities/BuildSource.vb
+++ b/Test/EFCore.VisualBasic.Test/TestUtilities/BuildSource.vb
@@ -85,11 +85,11 @@ Public Class BuildSource
assemblyName:=projectName,
syntaxTrees:=Sources.Select(
Function(s) SyntaxFactory.ParseSyntaxTree(
- text:=s.Value,
- path:=s.Key,
- options:=New VisualBasicParseOptions(
- LanguageVersion.Latest,
- If(EmitDocumentationDiagnostics, DocumentationMode.Diagnose, DocumentationMode.Parse)))),
+ text:=s.Value,
+ path:=s.Key,
+ options:=New VisualBasicParseOptions(
+ LanguageVersion.Latest,
+ If(EmitDocumentationDiagnostics, DocumentationMode.Diagnose, DocumentationMode.Parse)))),
references:=refs,
CreateVisualBasicCompilationOptions())
@@ -141,5 +141,4 @@ All diagnostics:
{"BC40055", ReportDiagnostic.Suppress}
})
End Function
-
End Class
diff --git a/Test/EFCore.VisualBasic.Test/TestUtilities/EFCore.Relational.Tests/Metadata/RelationalModelTest.vb b/Test/EFCore.VisualBasic.Test/TestUtilities/EFCore.Relational.Tests/Metadata/RelationalModelTest.vb
index 0ed2ef3..d95206d 100644
--- a/Test/EFCore.VisualBasic.Test/TestUtilities/EFCore.Relational.Tests/Metadata/RelationalModelTest.vb
+++ b/Test/EFCore.VisualBasic.Test/TestUtilities/EFCore.Relational.Tests/Metadata/RelationalModelTest.vb
@@ -27,14 +27,18 @@ Namespace Metadata
Assert.Equal(expected.Schema, actual.Schema)
Assert.Equal(expected.IsShared, actual.IsShared)
- For Each expectedEntityType In expected.EntityTypeMappings.Select(Function(m) m.EntityType)
- Dim actualEntityType = actual.EntityTypeMappings.Single(Function(m) m.EntityType.Name = expectedEntityType.Name).EntityType
+ For Each expectedEntityType In expected.EntityTypeMappings.Select(Function(m) m.TypeBase).Cast(Of IEntityType)
+ Dim actualEntityType = DirectCast(actual.EntityTypeMappings.Single(Function(m) m.TypeBase.Name = expectedEntityType.Name).TypeBase, IEntityType)
Assert.Equal(expected.GetRowInternalForeignKeys(expectedEntityType).Count(),
actual.GetRowInternalForeignKeys(actualEntityType).Count())
Assert.Equal(expected.GetReferencingRowInternalForeignKeys(expectedEntityType).Count(),
actual.GetReferencingRowInternalForeignKeys(actualEntityType).Count())
Next
+ For Each expectedEntityType In expected.ComplexTypeMappings.Select(Function(m) m.TypeBase)
+ Dim actualEntityType = actual.ComplexTypeMappings.Single(Function(m) m.TypeBase.Name = expectedEntityType.Name).TypeBase
+ Next
+
Assert.Equal(expected.GetAnnotations(), actual.GetAnnotations(), AnnotationComparer.Instance)
Assert.Equal(expected.GetRuntimeAnnotations(), actual.GetRuntimeAnnotations(), AnnotationComparer.Instance)
End Sub
@@ -49,7 +53,7 @@ Namespace Metadata
End Sub
Public Sub AssertEqualBase(expected As ITableMappingBase, actual As ITableMappingBase)
- Assert.Equal(expected.EntityType.Name, actual.EntityType.Name)
+ Assert.Equal(expected.TypeBase.Name, actual.TypeBase.Name)
Assert.Equal(expected.Table.SchemaQualifiedName, actual.Table.SchemaQualifiedName)
Assert.Equal(expected.IncludesDerivedTypes, actual.IncludesDerivedTypes)
Assert.Equal(expected.IsSharedTablePrincipal, actual.IsSharedTablePrincipal)
@@ -219,7 +223,7 @@ Namespace Metadata
expected.Columns.ZipAssert(actual.Columns, AddressOf AssertEqual)
Assert.Equal(expected.Sql, actual.Sql)
- Assert.Same(actual, actual.Model.FindView(actual.Name, actual.Schema))
+ Assert.Same(actual, actual.Model.FindQuery(actual.Name))
expected.EntityTypeMappings.ZipAssert(actual.EntityTypeMappings, AddressOf AssertEqual)
End Sub
@@ -236,7 +240,7 @@ Namespace Metadata
expected.PropertyMappings.ZipAssert(actual.PropertyMappings, AddressOf AssertEqual)
- Assert.Same(actual, expected.SqlQuery.FindColumn(actual.Name))
+ Assert.Same(actual, actual.SqlQuery.FindColumn(actual.Name))
End Sub
Public Sub AssertEqual(expected As ISqlQueryColumnMapping, actual As ISqlQueryColumnMapping)