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

88 lines
2.9 KiB
C#

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
#nullable disable
namespace AsbCloudDb.Model
{
[Table("t_well"), Comment("скважины")]
public partial class Well : IId, IMapPoint
{
[Key]
[Column("id")]
public int Id { get; set; }
[Column("caption")]
[StringLength(255)]
public string Caption { get; set; }
[Column("id_cluster")]
public int? IdCluster { get; set; }
[Column("id_telemetry")]
public int? IdTelemetry { get; set; }
[Column("id_well_type")]
public int? IdWellType { get; set; }
[Column("latitude")]
public double? Latitude { get; set; }
[Column("longitude")]
public double? Longitude { get; set; }
[Column("plan_start", TypeName = "timestamp with time zone")]
public DateTime? PlanStart { get; set; }
[Column("plan_end", TypeName = "timestamp with time zone")]
public DateTime? PlanEnd { get; set; }
[Column("fact_start", TypeName = "timestamp with time zone")]
public DateTime? FactStart { get; set; }
[Column("fact_end", TypeName = "timestamp with time zone")]
public DateTime? FactEnd { get; set; }
[Column("un_productive_time_days"), Comment("НПВ, сут")]
public double? UnProductiveDays { get; set; }
[Column("rate_of_penetration_plan"), Comment("МСП план")]
public double? RateOfPenetrationPlan { get; set; }
[Column("rate_of_penetration_fact"), Comment("МСП факт")]
public double? RateOfPenetrationFact { get; set; }
[Column("route_speed_plan"), Comment("Рейсовая скорость план")]
public double? RouteSpeedPlan { get; set; }
[Column("route_speed_fact"), Comment("Рейсовая скорость факт")]
public double? RouteSpeedFact { get; set; }
[ForeignKey(nameof(IdWellType))]
[InverseProperty(nameof(Model.WellType.Wells))]
public virtual WellType WellType { get; set; }
[InverseProperty(nameof(WellSection.Well))]
public virtual ICollection<WellSection> Sections { get; set; }
[InverseProperty(nameof(RelationCompanyWell.Well))]
public virtual ICollection<RelationCompanyWell> RelationCompaniesWells { get; set; }
[ForeignKey(nameof(IdCluster))]
[InverseProperty(nameof(Model.Cluster.Wells))]
public virtual Cluster Cluster { get; set; }
[ForeignKey(nameof(IdTelemetry))]
[InverseProperty(nameof(Model.Telemetry.Well))]
public virtual Telemetry Telemetry { get; set; }
[JsonIgnore]
[InverseProperty(nameof(WellOperation.Well))]
public virtual ICollection<WellOperation> WellOperations { get; set; }
}
}