1. 数组长度必须一致

// 错误示例 - 会抛出异常
TMVCActiveRecordMiddleware.Create(
  'MainDB',
  ['LogDB', 'CacheDB'],           // 2个元素
  ['LogDB_Def'],                  // 1个元素 ← 错误!
  'MultiConnections.ini'
);

  

2. 连接名命名规范

// 建议使用有意义的命名
TMVCActiveRecordMiddleware.Create(
  'MainDB',
  ['LogDB', 'CacheDB', 'ReportingDB', 'ArchiveDB'],  // 逻辑名称
  ['Log_Connection', 'Cache_Connection', 'Report_Conn', 'Archive_Conn'], // 配置名称
  'connections.ini'
);

  

🎯 典型使用场景

场景1:读写分离

// 主库写,从库读
TMVCActiveRecordMiddleware.Create(
  'WriteDB',                    // 默认连接用于写操作
  ['ReadDB'],                   // 附加连接用于读操作
  ['ReadDB_Def'],
  'ReadWrite.ini'
);

  

场景2:多租户(每个租户独立数据库)

// 根据租户动态选择连接
TMVCActiveRecordMiddleware.Create(
  'DefaultTenantDB',
  ['Tenant1DB', 'Tenant2DB', 'Tenant3DB'],
  ['Tenant1_Def', 'Tenant2_Def', 'Tenant3_Def'],
  'tenants.ini'
);

  

场景3:功能分离

// 不同功能模块使用不同数据库
TMVCActiveRecordMiddleware.Create(
  'CoreDB',                    // 核心业务数据
  ['LogDB', 'AuditDB', 'NotificationDB', 'GeoDB'],
  ['Log_Def', 'Audit_Def', 'Notify_Def', 'Geo_Def'],
  'modules.ini'
);

  

🛠️ 调试技巧

  ActiveRecordConnectionsRegistry.SetCurrent('TEST1');  // 从现在开始,在这个线程中,当前连接。

  

posted on 2025-12-30 15:00  redhat588  阅读(4)  评论(0)    收藏  举报