DataContext.cs 1.4 KB
using FreeSql;
using HHECS.DAQHandle.Models;

namespace HHECS.DAQHandle.DataAccess
{
    /// <summary>
    /// 数据库上下文
    /// </summary>
    /// <remarks>参考文档:<a href="https://freesql.net/guide/db-context.html">https://freesql.net/guide/db-context.html</a></remarks>
    public class DataContext : DbContext
    {
        public DataContext(IFreeSql freeSql) : base(freeSql, null) { }

        public DbSet<EquipmentExtend> Equipment { get; set; } = null!;

        public DbSet<EquipmentTypeExtend> EquipmentType { get; set; } = null!;

        public DbSet<EquipmentTypePropTemplateExtend> EquipmentTypePropTemplate { get; set; } = null!;

        public DbSet<EquipmentPropExtend> EquipmentProp { get; set; } = null!;

        public DbSet<EquipmentDataRecord> EquipmentDataRecord { get; set; } = null!;

        public DbSet<EquipmentAlarmRecord> EquipmentAlarmRecords { get; set; } = null!;

        public DbSet<EquipmentStatusRecord> EquipmentStatusRecords { get; set; } = null!;

        protected override void OnModelCreating(ICodeFirst codefirst)
        {
            codefirst.Entity<EquipmentTypePropTemplateExtend>(eb =>
            {
                eb.Property(p => p.PropType).HasColumnType("varchar(50)");
                eb.Property(p => p.DataType).HasColumnType("varchar(50)");
            });

            codefirst.SyncStructure<EquipmentTypePropTemplateExtend>();
        }
    }
}