HuanMengAdmin/admin-server/MiaoYu.Repository.ChatAI.Admin/ChatAdminDbContext.cs
2024-08-29 13:19:42 +08:00

102 lines
3.9 KiB
C#

using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
namespace MiaoYu.Repository.ChatAI.Admin
{
/// <summary>
/// 后台管理系统数据库上下文
/// </summary>
[DbContextConfig($"Repository.*.Entities.*")]
public class ChatAdminDbContext : DbContext, IBaseDbContext
{
/// <summary>
/// 工作单元
/// </summary>
public IUnitOfWork UnitOfWork { get; }
public ChatAdminDbContext(DbContextOptions<ChatAdminDbContext> dbContextOptions) : base(dbContextOptions)
{
UnitOfWork = new UnitOfWorkImpl<ChatAdminDbContext>(this);
}
/// <summary>
/// 模型创建
/// </summary>
/// <param name="modelBuilder"></param>
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
#region
modelBuilder.Entity<T_Order>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__T_Order__3214EC07C8DD7EE1");
entity.ToTable(tb => tb.HasComment("订单完成表"));
entity.Property(e => e.CreatedAt)
.HasComment("创建时间")
.HasColumnType("datetime");
entity.Property(e => e.OrderDate)
.HasComment("订单创建时间")
.HasColumnType("datetime");
entity.Property(e => e.OrderId)
.HasMaxLength(64)
.HasComment("订单编号");
entity.Property(e => e.PaymentDate)
.HasComment("订单支付时间")
.HasColumnType("datetime");
entity.Property(e => e.PaymentDay).HasComment("订单创建天");
entity.Property(e => e.PaymentMethod)
.HasMaxLength(10)
.HasComment("订单支付方式");
entity.Property(e => e.ProductId)
.HasMaxLength(100)
.HasComment("购买的产品Id");
entity.Property(e => e.Status).HasComment("订单状态");
entity.Property(e => e.TenantId).HasComment("租户");
entity.Property(e => e.TotalPrice)
.HasComment("价格")
.HasColumnType("money");
entity.Property(e => e.UpdatedAt)
.HasComment("修改时间")
.HasColumnType("datetime");
entity.Property(e => e.UserId).HasComment("用户Id");
});
modelBuilder.Entity<T_OrderItems>(entity =>
{
entity.HasKey(e => e.Id).HasName("PK__T_OrderI__3214EC077E53EC22");
entity.ToTable(tb => tb.HasComment("订单详情表"));
entity.Property(e => e.OrderId)
.HasMaxLength(64)
.HasComment("订单id");
entity.Property(e => e.PayUrl).HasComment("支付地址");
entity.Property(e => e.PaymentInfo).HasComment("支付信息");
entity.Property(e => e.Product).HasComment("产品id、主键");
entity.Property(e => e.ProductId)
.HasMaxLength(100)
.HasComment("产品id");
entity.Property(e => e.RewardInfo).HasComment("发放奖励信息");
entity.Property(e => e.RewardTips).HasComment("发放奖励提示");
entity.Property(e => e.TenantId).HasComment("租户");
});
//OnModelCreatingPartial(modelBuilder);
//ModelBuilderExtensions.Seed(modelBuilder);
#endregion
var dbContextConfigAttribute = GetType().GetCustomAttribute<DbContextConfigAttribute>()!;
var t = dbContextConfigAttribute.GetModelTypes(GetType());
dbContextConfigAttribute!.OnModelCreating(modelBuilder, t);
}
}
}