using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations.Schema; namespace AsbCloudDb.Model.GTR { public class WitsItemBase : ITelemetryData where T: notnull { [Column("id_telemetry")] public int IdTelemetry { get; set; } [Column("id_record")] public int IdRecord { get; set; } [Column("id_item")] public int IdItem { get; set; } [Column("date", TypeName = "timestamp with time zone")] public DateTimeOffset DateTime { get; set; } [Column("value")] public T Value { get; set; } = default!; [ForeignKey(nameof(IdTelemetry))] public virtual Telemetry? Telemetry { get; set; } } [Table("t_wits_string"), Comment("таблица данных ГТИ с типом значения string")] public class WitsItemString : WitsItemBase { } [Table("t_wits_float"), Comment("таблица данных ГТИ с типом значения float")] public class WitsItemFloat : WitsItemBase { } [Table("t_wits_int"), Comment("таблица данных ГТИ с типом значения int")] public class WitsItemInt : WitsItemBase { } }