小编Joh*_*hew的帖子

如何在.net core中注册继承的通用存储库

我有一个继承自 的通用存储库IDapperDbContext。如何在 中注册通用存储库Startup.cs

这是代码:

DapperDbContext:

public abstract class DapperDbContext : IDapperDbContext
{
    protected readonly IDbConnection InnerConnection;
    private DatabaseSettings dbSettings;

    protected DapperDbContext()
    {
        var dbOptions = Options.Create(new DatabaseSettings());
        InnerConnection = new SqlConnection(dbOptions.Value.ConnectionString);
    }
}
Run Code Online (Sandbox Code Playgroud)

通用存储库接口

public interface IRepository<T>
{
    Task<int> InsertAsync(T model);
}
Run Code Online (Sandbox Code Playgroud)

通用存储库实施

public abstract class Repository<T> : DapperDbContext, IRepository<T>
{
    private readonly string _tableName;

    public BaseRepository(string tableName) : base()
    {
        _tableName = tableName;
    }

    public async Task<int> InsertAsync(T t)
    {
        var insertQuery = GenerateInsertQuery();

        using …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection repository-pattern asp.net-core asp.net-core-3.1

2
推荐指数
1
解决办法
2447
查看次数