| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- using System;
- using System.Collections.Generic;
- namespace TeamAAS.Database.Models
- {
- /// <summary>
- /// 数据库连接配置
- /// </summary>
- public class DatabaseConfig
- {
- /// <summary>
- /// 数据库唯一标识
- /// </summary>
- public Guid Id { get; set; } = Guid.NewGuid();
- /// <summary>
- /// 显示名称
- /// </summary>
- public string Name { get; set; }
- /// <summary>
- /// 提供者类型(mysql / sqlite / sqlserver 等)
- /// </summary>
- public string ProviderType { get; set; }
- /// <summary>
- /// 服务器地址(文件型数据库填文件路径)
- /// </summary>
- public string Server { get; set; }
- /// <summary>
- /// 端口(文件型数据库可忽略)
- /// </summary>
- public int Port { get; set; }
- /// <summary>
- /// 数据库名(SQLite 可填文件名或留空)
- /// </summary>
- public string DatabaseName { get; set; }
- /// <summary>
- /// 用户名
- /// </summary>
- public string UserId { get; set; }
- /// <summary>
- /// 密码
- /// </summary>
- public string Password { get; set; }
- /// <summary>
- /// 连接超时(秒)
- /// </summary>
- public int ConnectionTimeout { get; set; } = 30;
- /// <summary>
- /// 自定义连接字符串(优先于上面的字段拼接)
- /// </summary>
- public string ConnectionString { get; set; }
- /// <summary>
- /// 扩展参数(各提供者特有配置)
- /// </summary>
- public Dictionary<string, string> ExtraParams { get; set; } = new Dictionary<string, string>();
- }
- /// <summary>
- /// 表列信息
- /// </summary>
- public class ColumnInfo
- {
- public string ColumnName { get; set; }
- public string DataType { get; set; }
- public bool IsNullable { get; set; }
- public bool IsPrimaryKey { get; set; }
- public int MaxLength { get; set; }
- public string DefaultValue { get; set; }
- public string Description { get; set; }
- }
- /// <summary>
- /// 数据库提供者类型信息(用于反射发现)
- /// </summary>
- public class DatabaseProviderInfo
- {
- /// <summary>
- /// 提供者类型标识(小写,如 mysql、sqlite)
- /// </summary>
- public string ProviderType { get; set; }
- /// <summary>
- /// 显示名称(如 MySQL、SQLite)
- /// </summary>
- public string DisplayName { get; set; }
- /// <summary>
- /// 实现类类型完整名
- /// </summary>
- public Type ImplementationType { get; set; }
- /// <summary>
- /// 是否需要服务器(文件型数据库为 false)
- /// </summary>
- public bool RequiresServer { get; set; }
- /// <summary>
- /// 描述
- /// </summary>
- public string Description { get; set; }
- }
- }
|