我可以为我的所有存储库重写 SaveChangesAsync() 吗?

问题描述 投票:0回答:1

我有一个相当大的 Blazor 项目,其中有一些小型存储库(用于简单实体),这些存储库源自像这样的 GenericRepository

public class MySmallRepositoryOne : GenericRepository<MySmallEntityOne>, IMySmallRepositoryOne

但是我也有用于更复杂实体的存储库,这些实体不是从 GenericRepository 派生的。

有没有办法制作

public override int SaveChangesAsync()
{
    // my code

    return base.SaveChangesAsync();
}

覆盖所有存储库的 SaveChangesAsync() 吗?或者每个存储库都需要从通用派生并且它是通用的,我放置了这个覆盖?

entity-framework repository blazor-server-side savechanges
1个回答
0
投票

是的,您可以覆盖特定“xxxDbContext”中的“savechanges”。但SaveChangesAsync应该异步编写以使用await。不需要派生每个存储库。

        public override int SaveChanges()
        {
            return base.SaveChanges();
        }
        public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
        {
            return base.SaveChangesAsync(cancellationToken);
        }
© www.soinside.com 2019 - 2024. All rights reserved.