Skip to content

UnitOfWorkManagerRepository 绑定泛型 IFreeSql<TMark>` #2231

@luoyunchong

Description

@luoyunchong

多库场景可实现仓储、UoW、FreeSql 实例的编译期强绑定

现状

  • UnitOfWorkManager 构造函数参数为 IFreeSql
  • DefaultRepository<TEntity, TKey> 构造函数参数为 IFreeSql + UnitOfWorkManager
  • IFreeSql 虽继承 IFreeSql,但在 DI 里多实例时不够强类型

建议:

新增一组不破坏兼容的泛型类型:

  • UnitOfWorkManager<TMark> : UnitOfWorkManager
    构造函数参数 IFreeSql<TMark>
  • DefaultRepository<TEntity, TKey, TMark> : BaseRepository<TEntity, TKey>
    • 构造函数参数 IFreeSql<TMark>
    • 构造函数参数 IFreeSql<TMark>, UnitOfWorkManager<TMark>
  • GuidRepository<TEntity, TMark>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions