Files
Atomx/Atomx.Common/Entities/User.cs
2025-12-04 00:40:12 +08:00

80 lines
2.1 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 用户数据
/// </summary>
[Table("Users")]
public class User
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 用户名
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 邮箱
/// </summary>
[Column(TypeName = "varchar(128)")]
public string Email { get; set; } = string.Empty;
/// <summary>
/// 手机号
/// </summary>
[Column(TypeName = "varchar(32)")]
public string Mobile { get; set; } = string.Empty;
/// <summary>
/// 头像
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Avatar { get; set; } = string.Empty;
/// <summary>
/// 登录密码
/// </summary>
[Column(TypeName = "varchar(32)")]
public string Password { get; set; } = string.Empty;
/// <summary>
/// 账号是否激活
/// </summary>
public bool IsActive { get; set; } = true;
/// <summary>
/// 是否Email确认
/// </summary>
public bool EmailConfirmed { get; set; } = false;
/// <summary>
/// 锁定结束时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? LockoutEndTime { get; set; }
/// <summary>
/// 登录失败次数
/// </summary>
public int FailedLoginAttempts { get; set; } = 0;
/// <summary>
/// 注册数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}