public interface ITestRecord { /// 主键ID,自增 int Id { get; set; } /// 工位编号(1~3) int StationId { get; set; } /// 测试日期时间 DateTime TestDate { get; set; } /// 测试人员姓名 string Tester { get; set; } // 公共字段 } /// /// 泡点法测试记录实体,用于数据库存储。 /// 对应 GB/T 32361-2015 标准中的最大孔径测试记录。 /// public class BubblePointEntity : ITestRecord { /// 主键ID,自增 public int Id { get; set; } /// 工位编号(1~3) public int StationId { get; set; } /// 测试日期时间 public DateTime TestDate { get; set; } /// 测试人员姓名 public string? Tester { get; set; } /// 膜类型(平板膜/中空纤维膜) public string? SampleType { get; set; } /// 样品规格(如直径、厚度等) public string? SampleSpec { get; set; } /// 测试时室温(°C) public double? RoomTemperature { get; set; } /// 膜在测试液体中的浸润时间(小时) public double? SoakingTime { get; set; } /// 测试液体名称(如“水”、“乙醇”等) public string? LiquidName { get; set; } /// 测试液体的表面张力(mN/m,25°C) public double? LiquidSurfaceTension { get; set; } /// 测试液体生产厂家(可选) public string? LiquidManufacturer { get; set; } /// 泡点压力数值 public double? BubblePointPressure { get; set; } /// 泡点压力单位(Pa / cmHg / psi) public string? PressureUnit { get; set; } /// 计算得出的最大孔径(μm) public double? MaxPoreSize { get; set; } } /// /// 孔分布测试记录实体,用于数据库存储。 /// 对应 GB/T 32361-2015 标准中的平均流量法测试记录。 /// public class PoreDistributionEntity : ITestRecord { /// 主键ID,自增 public int Id { get; set; } /// 工位编号(1~3) public int StationId { get; set; } /// 测试日期时间 public DateTime TestDate { get; set; } /// 测试人员姓名 public string Tester { get; set; } /// 膜类型(平板膜/中空纤维膜) public string SampleType { get; set; } /// 样品规格(如直径、厚度等) public string SampleSpec { get; set; } /// 测试时室温(°C) public double RoomTemperature { get; set; } /// 膜在测试液体中的浸润时间(小时) public double SoakingTime { get; set; } /// 测试液体名称(如“水”、“乙醇”等) public string LiquidName { get; set; } /// 测试液体的表面张力(mN/m,25°C) public double LiquidSurfaceTension { get; set; } /// 测试液体生产厂家(可选) public string LiquidManufacturer { get; set; } /// 压力单位(Pa / cmHg / psi) public string PressureUnit { get; set; } /// 泡点压力(可选,用于记录) public double BubblePointPressure { get; set; } /// 计算得出的平均孔径(μm) public double AveragePoreSize { get; set; } /// 导航属性:该测试记录对应的所有压力-流量数据点 public List DataPoints { get; set; } } /// /// 孔分布测试的数据点实体,存储每个压力点对应的湿膜和干膜流量。 /// 与 PoreDistributionEntity 构成一对多的关系。 /// public class DataPointEntity { /// 主键ID,自增 public int Id { get; set; } /// 关联的孔分布测试记录ID public int PoreDistributionId { get; set; } /// 测试压力值,单位由所属记录的 PressureUnit 决定 public double Pressure { get; set; } /// 湿膜流量(L/min) public double WetFlow { get; set; } /// 干膜流量(L/min) public double DryFlow { get; set; } /// 导航属性:所属的孔分布测试记录 public PoreDistributionEntity PoreDistribution { get; set; } }