[Failed] Try to implement NativeAOT support.
Add: NativeAOT support with EF Core. However failed for compiled binary throw Exception in queries. Wait for a stable support for NativeAOT. Add: document for intergration EF Core with NativeAOT.
This commit is contained in:
@ -0,0 +1,99 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
||||
using Microsoft.EntityFrameworkCore.Update.Internal;
|
||||
|
||||
#pragma warning disable 219, 612, 618
|
||||
#nullable disable
|
||||
|
||||
namespace OptixServe.Infrastructure.Data.CompiledModels
|
||||
{
|
||||
public partial class AppDbContextModel
|
||||
{
|
||||
private AppDbContextModel()
|
||||
: base(skipDetectChanges: false, modelId: new Guid("3214a553-d69f-4844-a587-080f6d463671"), entityTypeCount: 1)
|
||||
{
|
||||
}
|
||||
|
||||
partial void Initialize()
|
||||
{
|
||||
var user = UserEntityType.Create(this);
|
||||
|
||||
UserEntityType.CreateAnnotations(user);
|
||||
|
||||
AddAnnotation("ProductVersion", "9.0.6");
|
||||
AddRuntimeAnnotation("Relational:RelationalModelFactory", () => CreateRelationalModel());
|
||||
}
|
||||
|
||||
private IRelationalModel CreateRelationalModel()
|
||||
{
|
||||
var relationalModel = new RelationalModel(this);
|
||||
|
||||
var user = FindEntityType("OptixServe.Core.Models.User")!;
|
||||
|
||||
var defaultTableMappings = new List<TableMappingBase<ColumnMappingBase>>();
|
||||
user.SetRuntimeAnnotation("Relational:DefaultMappings", defaultTableMappings);
|
||||
var optixServeCoreModelsUserTableBase = new TableBase("OptixServe.Core.Models.User", null, relationalModel);
|
||||
var idColumnBase = new ColumnBase<ColumnMappingBase>("Id", "TEXT", optixServeCoreModelsUserTableBase);
|
||||
optixServeCoreModelsUserTableBase.Columns.Add("Id", idColumnBase);
|
||||
var passwordColumnBase = new ColumnBase<ColumnMappingBase>("Password", "TEXT", optixServeCoreModelsUserTableBase)
|
||||
{
|
||||
IsNullable = true
|
||||
};
|
||||
optixServeCoreModelsUserTableBase.Columns.Add("Password", passwordColumnBase);
|
||||
var privilegeGroupColumnBase = new ColumnBase<ColumnMappingBase>("PrivilegeGroup", "INTEGER", optixServeCoreModelsUserTableBase);
|
||||
optixServeCoreModelsUserTableBase.Columns.Add("PrivilegeGroup", privilegeGroupColumnBase);
|
||||
var userNameColumnBase = new ColumnBase<ColumnMappingBase>("UserName", "TEXT", optixServeCoreModelsUserTableBase);
|
||||
optixServeCoreModelsUserTableBase.Columns.Add("UserName", userNameColumnBase);
|
||||
relationalModel.DefaultTables.Add("OptixServe.Core.Models.User", optixServeCoreModelsUserTableBase);
|
||||
var optixServeCoreModelsUserMappingBase = new TableMappingBase<ColumnMappingBase>(user, optixServeCoreModelsUserTableBase, null);
|
||||
optixServeCoreModelsUserTableBase.AddTypeMapping(optixServeCoreModelsUserMappingBase, false);
|
||||
defaultTableMappings.Add(optixServeCoreModelsUserMappingBase);
|
||||
RelationalModel.CreateColumnMapping((ColumnBase<ColumnMappingBase>)idColumnBase, user.FindProperty("Id")!, optixServeCoreModelsUserMappingBase);
|
||||
RelationalModel.CreateColumnMapping((ColumnBase<ColumnMappingBase>)passwordColumnBase, user.FindProperty("Password")!, optixServeCoreModelsUserMappingBase);
|
||||
RelationalModel.CreateColumnMapping((ColumnBase<ColumnMappingBase>)privilegeGroupColumnBase, user.FindProperty("PrivilegeGroup")!, optixServeCoreModelsUserMappingBase);
|
||||
RelationalModel.CreateColumnMapping((ColumnBase<ColumnMappingBase>)userNameColumnBase, user.FindProperty("UserName")!, optixServeCoreModelsUserMappingBase);
|
||||
|
||||
var tableMappings = new List<TableMapping>();
|
||||
user.SetRuntimeAnnotation("Relational:TableMappings", tableMappings);
|
||||
var usersTable = new Table("Users", null, relationalModel);
|
||||
var idColumn = new Column("Id", "TEXT", usersTable);
|
||||
usersTable.Columns.Add("Id", idColumn);
|
||||
idColumn.Accessors = ColumnAccessorsFactory.CreateGeneric<string>(idColumn);
|
||||
var passwordColumn = new Column("Password", "TEXT", usersTable)
|
||||
{
|
||||
IsNullable = true
|
||||
};
|
||||
usersTable.Columns.Add("Password", passwordColumn);
|
||||
passwordColumn.Accessors = ColumnAccessorsFactory.CreateGeneric<string>(passwordColumn);
|
||||
var privilegeGroupColumn = new Column("PrivilegeGroup", "INTEGER", usersTable);
|
||||
usersTable.Columns.Add("PrivilegeGroup", privilegeGroupColumn);
|
||||
privilegeGroupColumn.Accessors = ColumnAccessorsFactory.CreateGeneric<int>(privilegeGroupColumn);
|
||||
var userNameColumn = new Column("UserName", "TEXT", usersTable);
|
||||
usersTable.Columns.Add("UserName", userNameColumn);
|
||||
userNameColumn.Accessors = ColumnAccessorsFactory.CreateGeneric<string>(userNameColumn);
|
||||
relationalModel.Tables.Add(("Users", null), usersTable);
|
||||
var usersTableMapping = new TableMapping(user, usersTable, null);
|
||||
usersTable.AddTypeMapping(usersTableMapping, false);
|
||||
tableMappings.Add(usersTableMapping);
|
||||
RelationalModel.CreateColumnMapping(idColumn, user.FindProperty("Id")!, usersTableMapping);
|
||||
RelationalModel.CreateColumnMapping(passwordColumn, user.FindProperty("Password")!, usersTableMapping);
|
||||
RelationalModel.CreateColumnMapping(privilegeGroupColumn, user.FindProperty("PrivilegeGroup")!, usersTableMapping);
|
||||
RelationalModel.CreateColumnMapping(userNameColumn, user.FindProperty("UserName")!, usersTableMapping);
|
||||
var pK_Users = new UniqueConstraint("PK_Users", usersTable, new[] { idColumn });
|
||||
usersTable.PrimaryKey = pK_Users;
|
||||
pK_Users.SetRowKeyValueFactory(new SimpleRowKeyValueFactory<string>(pK_Users));
|
||||
var pK_UsersKey = RelationalModel.GetKey(this,
|
||||
"OptixServe.Core.Models.User",
|
||||
new[] { "Id" });
|
||||
pK_Users.MappedKeys.Add(pK_UsersKey);
|
||||
RelationalModel.GetOrCreateUniqueConstraints(pK_UsersKey).Add(pK_Users);
|
||||
usersTable.UniqueConstraints.Add("PK_Users", pK_Users);
|
||||
return relationalModel.MakeReadOnly();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user