MapFile.cs 2.24 KB
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Rcs.Domain.Entities;

/// <summary>
/// 地图文件实体类
/// </summary>
[Table("map_files")]
public partial class MapFile : Entity
{
    /// <summary>
    /// 系统ID
    /// </summary>
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    [Column("id")]
    [MaxLength(36)]
    public string Id { get; set; } = string.Empty;

    /// <summary>
    /// 文件名称
    /// </summary>
    [Required]
    [Column("file_name")]
    [MaxLength(255)]
    public string FileName { get; set; } = string.Empty;

    /// <summary>
    /// 文件大小(字节)
    /// </summary>
    [Required]
    [Column("file_size")]
    public long FileSize { get; set; }

    /// <summary>
    /// 文件路径
    /// </summary>
    [Required]
    [Column("file_path")]
    [MaxLength(512)]
    public string FilePath { get; set; } = string.Empty;

    /// <summary>
    /// 透明度(0-1)
    /// </summary>
    [Column("opacity")]
    public decimal Opacity { get; set; } = 0.60m;

    /// <summary>
    /// 缩放比例
    /// </summary>
    [Column("scale")]
    public decimal Scale { get; set; } = 1.00m;
    /// <summary>
    /// 缩放比例
    /// </summary>
    [Column("rotation")]
    public decimal Rotation { get; set; } = 0.00m;

    /// <summary>
    /// 地图左下角偏移量X
    /// </summary>
    [Column("offset_x")]
    public decimal OffsetX { get; set; } = 0.00m;

    /// <summary>
    /// 地图左下角偏移量Y
    /// </summary>
    [Column("offset_y")]
    public decimal OffsetY { get; set; } = 0.00m;

    /// <summary>
    /// 上传时间
    /// </summary>
    [Column("upload_time", TypeName = "timestamp")]
    public DateTime UploadTime { get; set; }

    /// <summary>
    /// 关联地图ID(一对一关联)
    /// </summary>
    [Required]
    [Column("map_id")]
    public Guid MapId { get; set; }

    /// <summary>
    /// 是否激活
    /// </summary>
    [Column("active")]
    public bool Active { get; set; } = true;

    #region 导航属性

    /// <summary>
    /// 关联地图导航属性
    /// </summary>
    [ForeignKey(nameof(MapId))]
    public virtual Map? Map { get; set; }

    #endregion
}