#pragma warning disable CA2227 using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Jellyfin.Data.Interfaces; namespace Jellyfin.Data.Entities.Libraries { /// /// An entity representing a company. /// public class Company : IHasCompanies, IHasConcurrencyToken { /// /// Initializes a new instance of the class. /// public Company() { CompanyMetadata = new HashSet(); } /// /// Gets or sets the id. /// /// /// Identity, Indexed, Required. /// [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; protected set; } /// [ConcurrencyCheck] public uint RowVersion { get; set; } /// /// Gets or sets a collection containing the metadata. /// public virtual ICollection CompanyMetadata { get; protected set; } /// /// Gets or sets a collection containing this company's child companies. /// public virtual ICollection ChildCompanies { get; protected set; } /// [NotMapped] public ICollection Companies => ChildCompanies; /// public void OnSavingChanges() { RowVersion++; } } }