-1

我是 C# 异步编程的新手。

所以这是我的代码:

    private async Task testDeleteBank(int id)
    {
        await _msBankRepo.DeleteAsync(id);
        var checkBank = (from A in _msBankRepo.GetAll()
                         where A.Id == id
                         select A).Count();
        if(checkBank > 0)
        {
            Console.Write(checkBank);
        }
    }

    public void testAsync(GetAllBankListDto input)
    {
        testDeleteBank(input.bankID);
        UpdateMsBank(input);
    }

当我运行 testAsync 方法时,它会更新我表中的记录。但是为什么在 DeleteAsync 方法之后它没有删除我的记录?

4

1 回答 1

0

你应该await testDeleteBank(input.bankID)在:

public async Task testAsync(GetAllBankListDto input)
{
    await testDeleteBank(input.bankID);
    // UpdateMsBank(input);
}

如果您需要 test同步,请使用AsyncHelper

public void test(GetAllBankListDto input)
{
    AsyncHelper.RunSync(() => testDeleteBank(input.bankID));
    // UpdateMsBank(input);
}
于 2017-10-25T14:02:55.917 回答