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; }
}
}