roadie/Roadie.Api.Library/Data/Artist.cs

92 lines
2.5 KiB
C#
Raw Normal View History

2018-11-02 21:04:49 +00:00
using Roadie.Library.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Roadie.Library.Data
{
[Table("artist")]
public partial class Artist : BeginAndEndNamedEntityBase
{
[Column("amgId")]
[MaxLength(100)]
public string AmgId { get; set; }
[Column("artistType", TypeName = "enum")]
public string ArtistType { get; set; }
2018-12-27 17:37:17 +00:00
[InverseProperty("Artist")]
public ICollection<ArtistAssociation> AssociatedArtists { get; set; }
2018-11-05 00:08:37 +00:00
2018-11-02 21:04:49 +00:00
[Column("bandStatus", TypeName = "enum")]
public BandStatus? BandStatus { get; set; }
[Column("bioContext", TypeName = "text")]
[MaxLength(65535)]
public string BioContext { get; set; }
[Column("birthDate", TypeName = "date")]
public DateTime? BirthDate { get; set; }
[Column("discogsId")]
[MaxLength(50)]
public string DiscogsId { get; set; }
2018-11-02 22:20:36 +00:00
public ICollection<ArtistGenre> Genres { get; set; }
public ICollection<Image> Images { get; set; }
2018-11-02 21:04:49 +00:00
[Column("isniList", TypeName = "text")]
[MaxLength(65535)]
2018-12-27 21:56:40 +00:00
public string ISNI { get; set; }
2018-11-02 21:04:49 +00:00
[Column("iTunesId")]
[MaxLength(100)]
public string ITunesId { get; set; }
2018-12-01 18:05:24 +00:00
[Column("lastPlayed")]
public DateTime? LastPlayed { get; set; }
2018-11-02 21:04:49 +00:00
[Column("musicBrainzId")]
[MaxLength(100)]
public string MusicBrainzId { get; set; }
[Column("profile", TypeName = "text")]
[MaxLength(65535)]
public string Profile { get; set; }
2018-12-01 18:05:24 +00:00
[Column("playedCount")]
public int? PlayedCount { get; set; }
2018-11-02 21:04:49 +00:00
[Column("rating")]
public short? Rating { get; set; }
[Column("realName")]
[MaxLength(500)]
public string RealName { get; set; }
2018-12-07 21:02:38 +00:00
//public List<Release> Releases { get; set; }
public ICollection<Release> Releases { get; set; }
2018-11-02 21:11:11 +00:00
2018-11-02 21:04:49 +00:00
[Column("spotifyId")]
[MaxLength(100)]
public string SpotifyId { get; set; }
[Column("releaseCount")]
2018-12-15 04:25:00 +00:00
public int? ReleaseCount { get; set; }
2018-11-06 22:59:48 +00:00
2018-12-01 18:05:24 +00:00
[Column("trackCount")]
2018-12-15 04:25:00 +00:00
public int? TrackCount { get; set; }
2018-12-01 18:05:24 +00:00
2018-12-07 21:02:38 +00:00
public Artist()
{
this.Releases = new HashSet<Release>();
2018-12-27 17:37:17 +00:00
this.Genres = new HashSet<ArtistGenre>();
this.AssociatedArtists = new HashSet<ArtistAssociation>();
2018-12-15 04:19:52 +00:00
this.Rating = 0;
2018-12-15 04:25:00 +00:00
this.Status = Statuses.Ok;
2018-12-07 21:02:38 +00:00
}
2018-11-02 21:04:49 +00:00
}
}