using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; namespace Blahblah.FlowerStory.Server.Data.Model; /// /// 记录对象 /// [Table("records")] public class RecordItem : ILocation { /// /// 自增 id,主键 /// [Column("rid")] [Key] [Required] public int Id { get; set; } /// /// 关联人 id /// [Column("uid")] [ForeignKey(nameof(Owner))] [Required] public required int OwnerId { get; set; } /// /// 关联人 /// [JsonIgnore] public UserItem? Owner { get; set; } /// /// 关联花草 id /// [Column("fid")] [ForeignKey(nameof(Flower))] [Required] public required int FlowerId { get; set; } /// /// 关联花草 /// [JsonIgnore] public FlowerItem? Flower { get; set; } /// /// 事件类型 /// [Column("eid")] [Required] public required int EventId { get; set; } /// /// 操作时间 /// [Column("date")] [Required] [JsonPropertyName("date")] public required long DateUnixTime { get; set; } /// /// 操作人 uid /// [Column("byuid")] public int? ByUserId { get; set; } /// /// 操作人名称 /// [Column("byname")] public string? ByUserName { get; set; } /// /// 备注 /// [Column("memo")] public string? Memo { get; set; } /// /// 操作时间 /// [NotMapped] [JsonIgnore] public DateTimeOffset Date => DateTimeOffset.FromUnixTimeMilliseconds(DateUnixTime); /// /// 事件关联照片 /// public ICollection? Photos { get; set; } /// /// 纬度 /// [Column("latitude")] public double? Latitude { get; set; } /// /// 经度 /// [Column("longitude")] public double? Longitude { get; set; } }