DataCacheService.cs 1.08 KB
using HHECS.RobotTool.Common.Utils;
using HHECS.RobotTool.DataAccess;
using HHECS.RobotTool.Model;
using Microsoft.EntityFrameworkCore;

namespace HHECS.RobotTool.Services
{
    public class DataCacheService
    {
        private readonly IDbContextFactory<DataContext> _dbContextFactory;

        private SystemLog _log = SystemLog.Instance;

        public List<Equipment> Equipments = new List<Equipment>();

        public DataCacheService(IDbContextFactory<DataContext> dbContextFactory)
        {
            _dbContextFactory = dbContextFactory;
            Initial();
        }

        private void Initial()
        {
            try
            {
                using var context = _dbContextFactory.CreateDbContext();
                context.Database.EnsureCreated();
                Equipments = context.Equipment.Where(x => x.Enable).Include(x => x.EquipmentProperties).AsSplitQuery().ToList();
            }
            catch (Exception ex)
            {
                _log.LogError($"{nameof(DataCacheService)}数据初始化异常.{ex.Message}");
            }
        }
    }
}