namespace roadie.Data
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    [Table("roadie.playlist")]
    public partial class playlist
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public playlist()
        {
            playlisttracks = new HashSet<playlisttrack>();
        }

        public int id { get; set; }

        public bool? isLocked { get; set; }

        public short? status { get; set; }

        [StringLength(36)]
        public string roadieId { get; set; }

        public DateTime? createdDate { get; set; }

        public DateTime? lastUpdated { get; set; }

        public bool? isPublic { get; set; }

        [Required]
        [StringLength(100)]
        public string name { get; set; }

        [StringLength(1000)]
        public string description { get; set; }

        [Column(TypeName = "blob")]
        public byte[] thumbnail { get; set; }

        [Column(TypeName = "text")]
        [StringLength(65535)]
        public string tags { get; set; }

        [Column(TypeName = "text")]
        [StringLength(65535)]
        public string urls { get; set; }

        public int? userId { get; set; }

        public virtual user user { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<playlisttrack> playlisttracks { get; set; }
    }
}
