在我正在开发的Blazor应用程序中,我有执行基本CRUD操作的代码。
<ButtonRowTemplate>
<Button Color="Color.Success" Clicked="context.NewCommand.Clicked">New</Button>
<Button Color="Color.Primary" Clicked="context.EditCommand.Clicked">Edit</Button>
<Button Color="Color.Danger" Clicked="context.DeleteCommand.Clicked">Delete</Button>
<Button Color="Color.Link" Clicked="context.ClearFilterCommand.Clicked">Clear Filter</Button>
</ButtonRowTemplate>
代码只在缓存内存(上下文)中工作。更改不会传播到DB。我以前编写的API使用直接更新命令,类似于:
replaceResponse = await this.container.ReplaceItemAsync<T>(itemBody, itemBody.Id, new PartitionKey(itemBody.someID));
我正在尝试该高速缓存/上下文与数据库同步。我尝试使用与上面类似的代码将数据库更新与缓存更新并行绑定,但没有成功。这是否正确,或者是否有一种更串行的方式来更新缓存,然后将这些上下文更改推送到数据库?在某种意义上,提交这些更改。
我还应该补充一点,我正在使用Microsoft. Azure. DocumentDB. Core。我希望在迁移到Microsoft.Azure.Cosmos库之前让代码正常工作。我感谢任何帮助,因为我正在使用Blazor返回前端开发。
1条答案
按热度按时间dwbf0jvd1#
我有一个解决方案,但我心中的问题是它是正确的吗?更具体地说,有没有更简单的方法来做,比如该高速缓存中提交更改?
我所做的
首先,我对Blazorise Grid组件做了一些深入的研究,其中有一个名为RowInserted的参数,我相信这会在该高速缓存中添加行后触发一个函数。
然后,我向页面代码添加了一个名为AddNewDoc的新函数。
现在我的数据库更新了。但是,既然该高速缓存来自DAL,有没有别的方法来更新DB?