using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace MachineJob { /// /// 数据库写入上下文 /// 用于 Entity Framework Core 访问 MySQL 数据库 /// public class DatabaseWriteContext : DbContext { // 配置根对象 private static readonly IConfigurationRoot configuration = new ConfigurationBuilder() // 设置配置文件的基础路径 .SetBasePath(Directory.GetCurrentDirectory()) // 添加 appsettings.default.json 配置文件(必需) .AddJsonFile("appsettings.default.json", optional: false, reloadOnChange: true) // 添加 appsettings.json 配置文件(必需) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) // 根据环境变量添加对应的配置文件(可选) .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT") ?? Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", optional: true, reloadOnChange: true) .Build(); // 从配置读取数据库连接字符串 private static readonly string connectionString = configuration.GetConnectionString("DatabaseWriteConnectionString")!; /// /// 数据库写入实体集合 /// public DbSet? DatabaseWrites { get; set; } /// /// 配置数据库上下文 /// 使用 MySQL 数据库 /// protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // 使用 MySQL,自动检测服务器版本 optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)); } } /// /// 数据库写入实体类 /// 映射到 databasewrites 表 /// [Table(name: "databasewrites")] public partial class DatabaseWriteEntity { /// /// 主键 ID /// [Key] public int Id { get; set; } /// /// 更新时间 /// public DateTime UpdateTime { get; set; } // 注意:Value1 到 Value10 属性由 DatabaseWriteEntityCodeGenerator 代码生成器自动生成 // public double? Value1 { get; set; } // public double? Value2 { get; set; } // ... // public double? Value10 { get; set; } } }