2021-04-02 17:28:07 +05:00
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
2021-04-02 17:28:07 +05:00
{
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("Информация с панели о скважине")]
2021-04-02 17:28:07 +05:00
public string Info { get ; set ; }
[Column("version"), Comment("Версия ПО панели отправляющей телеметрию")]
[StringLength(64)]
public string Version { get ; set ; }
2021-04-09 17:59:07 +05:00
[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
2021-04-02 17:28:07 +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 ; }
}
}