- 将迁移文件按数据库类型分目录存放 (Migrations/SQLite, MySQL, PostgreSQL, SqlServer) - 新增各数据库提供程序的 DesignTimeDbContextFactory,支持 --provider 参数切换 - 新增 ProviderAppDataContexts,定义各数据库对应的 AppDataContext 子类 - DatabaseExtensions 增加 AddProviderAppDataContext 方法,按配置自动注册对应 DbContext - 修正 MySQL 提供程序调用方式 (UseMySql -> UseMySQL) - UserEntity 模型增加新字段 - 更新 add-migration.ps1
70 lines
2.0 KiB
C#
70 lines
2.0 KiB
C#
using Microsoft.EntityFrameworkCore;
|
||
using System.ComponentModel.DataAnnotations;
|
||
using System.ComponentModel.DataAnnotations.Schema;
|
||
|
||
namespace Avalonia_EFCore.Models
|
||
{
|
||
/// <summary>
|
||
/// 用户实体 —— 演示数据库 CRUD 操作。
|
||
/// </summary>
|
||
[Comment("用户实体,演示数据库 CRUD 操作")]
|
||
[Table("user")]
|
||
public class UserEntity
|
||
{
|
||
/// <summary>
|
||
/// 获取或设置用户主键 ID(自增)。
|
||
/// </summary>
|
||
[Key]
|
||
[Comment("用户主键")]
|
||
[Column("id")]
|
||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
||
public int Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 获取或设置用户名称。
|
||
/// </summary>
|
||
[Comment("用户名称")]
|
||
[Column("name")]
|
||
[MaxLength(100)]
|
||
public string? Name { get; set; }
|
||
|
||
/// <summary>
|
||
/// 获取或设置用户密码哈希值。
|
||
/// </summary>
|
||
[Comment("密码哈希值")]
|
||
[Column("password-hash")]
|
||
[MaxLength(200)]
|
||
public string? PasswordHash { get; set; }
|
||
|
||
/// <summary>
|
||
/// 获取或设置用户邮箱。
|
||
/// </summary>
|
||
[Comment("用户邮箱")]
|
||
[Column("email")]
|
||
[MaxLength(200)]
|
||
public string? Email { get; set; }
|
||
|
||
/// <summary>
|
||
/// 获取或设置用户电话号码。
|
||
/// </summary>
|
||
[Comment("电话号码")]
|
||
[Column("phone-number")]
|
||
[MaxLength(50)]
|
||
public string? PhoneNumber { get; set; }
|
||
|
||
/// <summary>
|
||
/// 获取或设置用户创建时间。
|
||
/// </summary>
|
||
[Comment("创建时间")]
|
||
[Column("created-at")]
|
||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||
|
||
/// <summary>
|
||
/// 获取或设置用户最后更新时间。
|
||
/// </summary>
|
||
[Comment("更新时间")]
|
||
[Column("updated-at")]
|
||
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
|
||
}
|
||
}
|