using System.ComponentModel.DataAnnotations; namespace NexusReader.Domain.Entities; public class SemanticKnowledgeCache { [Key] [MaxLength(64)] public string ContentHash { get; set; } = string.Empty; [Required] public string JsonData { get; set; } = string.Empty; [Required] [MaxLength(50)] public string ModelId { get; set; } = "gemini-1.5-flash"; [Required] [MaxLength(10)] public string PromptVersion { get; set; } = "1.0"; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; }