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