using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;

namespace AsbCloudDb.Model
{
    [Table("t_driller"), Comment("Бурильщик")]
    public class Driller : IId
    {
        [Key]
        [Column("id"), Comment("Идентификатор")]
        public int Id { get; set; }

        [Column("name"), Comment("Имя")]
        [StringLength(255)]
        public string Name { get; set; } = null!;

        [Column("surname"), Comment("Фамилия")]
        [StringLength(255)]
        public string Surname { get; set; } = null!;

        [Column("patronymic"), Comment("Отчество")]
        [StringLength(255)]
        public string? Patronymic { get; set; }

        [JsonIgnore]
        [InverseProperty(nameof(Model.Schedule.Driller))]
        public virtual ICollection<Schedule> Schedule { get; set; } = null!;
    }
}