Files
Modbus.Net/Samples/MachineJob/DatabaseWrite.cs
2026-04-04 17:25:15 +08:00

69 lines
2.6 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace MachineJob
{
/// <summary>
/// 数据库写入上下文
/// 用于 Entity Framework Core 访问 MySQL 数据库
/// </summary>
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")!;
/// <summary>
/// 数据库写入实体集合
/// </summary>
public DbSet<DatabaseWriteEntity>? DatabaseWrites { get; set; }
/// <summary>
/// 配置数据库上下文
/// 使用 MySQL 数据库
/// </summary>
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
// 使用 MySQL自动检测服务器版本
optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString));
}
}
/// <summary>
/// 数据库写入实体类
/// 映射到 databasewrites 表
/// </summary>
[Table(name: "databasewrites")]
public partial class DatabaseWriteEntity
{
/// <summary>
/// 主键 ID
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
// 注意Value1 到 Value10 属性由 DatabaseWriteEntityCodeGenerator 代码生成器自动生成
// public double? Value1 { get; set; }
// public double? Value2 { get; set; }
// ...
// public double? Value10 { get; set; }
}
}