Files
admin/Azaion.Common/Database/AzaionDbShemaHolder.cs
T
Alex Bezdieniezhnykh 2336c15aa4 add postgres
2024-11-12 15:57:36 +02:00

29 lines
876 B
C#

using Azaion.Common.Entities;
using LinqToDB.Mapping;
namespace Azaion.Common.Database;
public static class AzaionDbSchemaHolder
{
public static readonly MappingSchema MappingSchema;
static AzaionDbSchemaHolder()
{
MappingSchema = new MappingSchema();
MappingSchema.EntityDescriptorCreatedCallback = (_, entityDescriptor) =>
{
foreach (var entityDescriptorColumn in entityDescriptor.Columns)
entityDescriptorColumn.ColumnName = entityDescriptorColumn.ColumnName.ToSnakeCase();
};
var builder = new FluentMappingBuilder(MappingSchema);
builder.Entity<User>()
.HasTableName("users")
.HasIdentity(x => x.Id)
.Property(x => x.Role).HasConversion(v => v.ToString(), v => (RoleEnum)Enum.Parse(typeof(RoleEnum), v));
builder.Build();
}
}