网站首页 网站源码
using System;
using Dpz.Core.Infrastructure.MapperConfig;
using Dpz.Core.Public.Entity;
#nullable enable
namespace Dpz.Core.Public.ViewModel;
/// <summary>
/// AI聊天会话视图模型
/// </summary>
public class VmAiChatSession : IMapFrom<AiChatSession>
{
public string? Id { get; set; }
/// <summary>
/// 用户ID
/// </summary>
public string? UserId { get; set; } = string.Empty;
/// <summary>
/// 会话ID(GUID)
/// </summary>
public string SessionId { get; set; } = string.Empty;
/// <summary>
/// 会话名称
/// </summary>
public string SessionName { get; set; } = string.Empty;
/// <summary>
/// AI模型类型(存储AiModel枚举值转换为字符串)
/// 默认为 "Gpt5Mini"
/// </summary>
public string ModelType { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
public DateTime LastUpdateTime { get; set; }
/// <summary>
/// 是否已删除
/// </summary>
public bool IsDeleted { get; set; }
/// <summary>
/// 消息数量(扩展属性,不映射)
/// </summary>
public int MessageCount { get; set; }
}
这段代码定义了一个名为 VmAiChatSession 的视图模型类,用于表示AI聊天会话的相关信息。下面是对代码的详细解释:
using System;
using Dpz.Core.Infrastructure.MapperConfig;
using Dpz.Core.Public.Entity;
System:基础系统库。Dpz.Core.Infrastructure.MapperConfig:可能包含对象映射配置(如 IMapFrom 接口)。Dpz.Core.Public.Entity:包含实体类(如 AiChatSession)。public class VmAiChatSession : IMapFrom<AiChatSession>
VmAiChatSession 是一个视图模型类,用于前端展示或API传输。IMapFrom<AiChatSession> 接口,表明它可以与 AiChatSession 实体类相互映射(可能是通过AutoMapper等工具)。以下是类的属性及其用途:
public string? Id { get; set; }
null(string? 表示可空字符串)。public string? UserId { get; set; } = string.Empty;
public string SessionId { get; set; } = string.Empty;
public string SessionName { get; set; } = string.Empty;
public string ModelType { get; set; } = string.Empty;
Gpt5Mini),存储为字符串形式(可能对应枚举值)。public DateTime CreateTime { get; set; }
public DateTime LastUpdateTime { get; set; }
CreateTime:会话创建时间。LastUpdateTime:会话最后更新时间。public bool IsDeleted { get; set; }
public int MessageCount { get; set; }
#nullable enable
null 的属性(如 Id 和 UserId)。IMapFrom<AiChatSession> 支持与实体类 AiChatSession 的自动转换。MessageCount 等属性可灵活扩展,无需修改底层实体。VmAiChatSession 是一个轻量级的视图模型,封装了AI聊天会话的核心信息,并提供了与实体类的映射能力,适合在分层架构中解耦数据层与展示层。
