DD.WellWorkover.Cloud/AsbCloudDb/Model/Telemetry.cs

52 lines
2.1 KiB
C#
Raw Normal View History

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
#nullable disable
namespace AsbCloudDb.Model
{
[Table("t_telemetry"), Comment("таблица привязки телеметрии от комплектов к конкретной скважине.")]
[Index(nameof(RemoteUid), Name = "t_telemetry_remote_uid_index")]
[Index(nameof(Version), Name = "t_telemetry_version_index")]
2021-04-07 18:01:56 +05:00
public partial class Telemetry: IId
{
public Telemetry()
{
DataSaubBases = new HashSet<DataSaubBase>();
Messages = new HashSet<Message>();
}
[Key]
[Column("id")]
public int Id { get; set; }
[Column("remote_uid"), Comment("Идентификатор передающего устройства. Может посторяться в списке, так как комплекты оборудования переезжают от скв. к скв.")]
public string RemoteUid { get; set; }
2021-04-07 18:01:56 +05:00
[Column("info", TypeName = "jsonb"), Comment("Информация с панели о скважине")]
public string Info { get; set; }
[Column("version"), Comment("Версия ПО панели отправляющей телеметрию")]
[StringLength(64)]
public string Version { get; set; }
[Column("last_data_saub", TypeName = "jsonb"), Comment("Информация с панели о скважине")]
public DataSaubBase LastDataSaub { get; set; }
[Column("time_zone", TypeName = "json"), Comment("Временная зона панели САУБ.")]
public TimeZoneInfo TimeZone { get; set; }
2021-04-07 18:01:56 +05:00
[InverseProperty(nameof(Model.Well.Telemetry))]
public virtual Well Well { get; set; }
[InverseProperty(nameof(DataSaubBase.Telemetry))]
public virtual ICollection<DataSaubBase> DataSaubBases { get; set; }
[InverseProperty(nameof(Message.Telemetry))]
public virtual ICollection<Message> Messages { get; set; }
}
}