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

52 lines
2.2 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")]
public partial class Telemetry
{
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; }
[Column("info", TypeName = "json"), Comment("Информация с панели о скважине")]
public string Info { get; set; }
[Column("data", TypeName = "json"), Comment("последние пришедшие данные со скважины в сыром виде")]
public string Data { get; set; }
[Column("last_data_saub", TypeName = "json"), Comment("последние пришедшие данные со скважины в виде json класса DataSaubBase")]
public string LastDataSaub { get; set; }
[Column("version"), Comment("Версия ПО панели отправляющей телеметрию")]
[StringLength(64)]
public string Version { get; set; }
[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; }
}
}