using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace AsbCloudDb.Model
{
    [Table("t_contact"), Comment("Контакты")]
    public partial class Contact : IId
    {
        [Key]
        [Column("id")]
        public int Id { get; set; }

        [Column("id_company_type"), Comment("вид деятельности")]
        [StringLength(255)]
        public int IdCompanyType { get; set; }

        [Column("id_well"), Comment("ключ скважины")]
        [StringLength(255)]
        public int IdWell { get; set; }

        [Column("fio"), Comment("ФИО")]
        [StringLength(255)]
        public string FIO { get; set; } = string.Empty;

        [Column("email"), Comment("email")]
        [StringLength(255)]
        public string Email { get; set; } = string.Empty;

        [Column("phone"), Comment("номер телефона")]
        [StringLength(50)]
        public string Phone { get; set; } = string.Empty;

        [Column("position"), Comment("должность")]
        [StringLength(255)]
        public string Position { get; set; } = string.Empty;

        [Column("company"), Comment("компания")]
        [StringLength(255)]
        public string Company { get; set; } = string.Empty;

        [ForeignKey(nameof(IdCompanyType))]
        [InverseProperty(nameof(Model.CompanyType.Contacts))]
        public virtual CompanyType CompanyType { get; set; } = null!;

        [ForeignKey(nameof(IdWell))]
        [InverseProperty(nameof(Model.Well.Contacts))]
        public virtual Well Well { get; set; } = null!;
    }
}