Files
CouchLog/CouchLog/Data/DatabaseModels/Global/GlobalEntity.cs
T
Penry 5fcc42a99f
Build Docker Linux ARM64 / build-docker-linux-arm64 (push) Successful in 1m47s
Build Docker Linux ARM64 Release / build-docker-linux-arm64-release (push) Successful in 14s
V0.1.2 (#80)
Reviewed-on: #80
2026-07-09 00:02:14 +02:00

49 lines
1.4 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Diagnostics.CodeAnalysis;
namespace CouchLog.Data
{
public class GlobalEntity
{
[Key]
public int Id { get; set; }
[Required (ErrorMessage = "Title is required")]
[MaxLength(200)]
public required string Title { get; set; }
[MaxLength(500)]
public string? PicturePath { get; set; }
[Required]
public required DateTime CreationTime { get; set; }
public DateTime? LastChange { get; set; }
[Required]
public bool IsPrivate { get; set; }
// --- Foreign Keys ---
[Required]
public required int TypeId { get; set; }
[Required]
public required string CreatorId { get; set; }
// --- Navigation Properties ---
[ForeignKey(nameof(TypeId))]
public virtual MediaType MediaType { get; set; } = null!;
[ForeignKey(nameof(CreatorId))]
public virtual ApplicationUser User { get; set; } = null!;
public virtual ICollection<LinkTableGlobalGenre> LinkTableGlobalGenres { get; set; } = new List<LinkTableGlobalGenre>();
public virtual ICollection<PrivateEntity> PrivateEntities { get; set; } = new List<PrivateEntity>();
public virtual ICollection<SharedListEntity> SharedListEntities { get; set; } = new List<SharedListEntity>();
}
}