AssetManager.API/AssetManager.Data
2026-03-09 08:56:26 +00:00
..
AssetManager.Data.csproj Remove bin and obj directories from Git tracking 2026-02-24 19:25:28 +08:00
DatabaseExtensions.cs Remove bin and obj directories from Git tracking 2026-02-24 19:25:28 +08:00
DatabaseService.cs feat: 添加 TiingoTicker 股票代码字典实体 2026-03-06 08:40:00 +00:00
Portfolio.cs refactor: 将模型属性改为可为空类型以增强健壮性 2026-03-06 15:51:59 +08:00
README.md Remove bin and obj directories from Git tracking 2026-02-24 19:25:28 +08:00
SqlSugarConfig.cs refactor: 所有配置优先从环境变量读取,完全支持Docker环境变量注入 2026-03-09 08:56:26 +00:00
Strategy.cs refactor: 将模型属性改为可为空类型以增强健壮性 2026-03-06 15:51:59 +08:00
TiingoTicker.cs feat: TiingoTicker 预留 Name 字段,支持中文名搜索 2026-03-06 09:50:27 +00:00
User.cs refactor: 将模型属性改为可为空类型以增强健壮性 2026-03-06 15:51:59 +08:00

AssetManager 数据库使用说明

数据库配置

数据库连接字符串在 SqlSugarConfig.cs 中配置:

ConnectionString = "server=localhost;Database=assetmanager;Uid=root;Pwd=your_password;CharSet=utf8mb4;"

请根据实际情况修改:

  • server: MySQL服务器地址
  • Database: 数据库名称
  • Uid: 用户名
  • Pwd: 密码

数据库实体类

用户相关

  • User: 用户基本信息
  • WechatUser: 微信用户信息

资产相关

  • Asset: 总资产数据
  • Holding: 持仓组合数据

策略相关

  • Strategy: 策略模板
  • StrategyTag: 策略标签
  • StrategyParameter: 策略参数
  • UserStrategy: 用户自定义策略

投资组合相关

  • Portfolio: 投资组合
  • Position: 持仓明细
  • Transaction: 交易记录

使用方法

1. 自动初始化(推荐)

Program.cs 中已经配置了自动初始化:

builder.Services.AddDatabase();

应用启动时会自动创建所有数据库表。

2. 手动初始化

运行 InitDatabase.cs 中的 Main 方法:

InitDatabase.Main();

这会创建所有表并插入示例数据。

3. 在Service中使用

在Service中注入 DatabaseServiceISqlSugarClient

public class AssetService : IAssetService
{
    private readonly ISqlSugarClient _db;
    
    public AssetService(ISqlSugarClient db)
    {
        _db = db;
    }
    
    public List<Holding> GetHoldings()
    {
        return _db.Queryable<Holding>().ToList();
    }
}

Code First 模式

使用 SqlSugar 的 Code First 模式,通过实体类自动创建数据库表:

  • 实体类使用 [SugarTable] 特性指定表名
  • 属性使用 [SugarColumn] 特性配置列
  • 主键使用 IsPrimaryKey = true
  • 自增主键使用 IsIdentity = true
  • 列名映射使用 ColumnName

数据库表结构

users 表

  • 用户基本信息、统计数据、会员等级等

wechat_users 表

  • 微信用户绑定信息、OpenID、UnionID等

assets 表

  • 总资产数据、今日收益、总收益率等

holdings 表

  • 持仓组合数据、状态、图标样式等

strategies 表

  • 策略模板、风险等级、描述等

strategy_tags 表

  • 策略标签关联

strategy_parameters 表

  • 策略参数配置

user_strategies 表

  • 用户自定义策略配置

portfolios 表

  • 投资组合基本信息

positions 表

  • 持仓明细、盈亏计算等

transactions 表

  • 交易记录、状态跟踪等