3
我在我的應用程序中的非GUI線程中運行下面的方法:實體框架6/SQL Server CE的4 SaveChangesAsync()
private async Task PerformContextSubmitAsync()
{
try
{
await DataContextProvider.GetDefaultContext().SaveChangesAsync();
}
catch (Exception ex)
{
Log.Error("Error performing context submit", ex);
}
}
被稱爲像這樣:
await PerformContextSubmitAsync();
該應用程序是一個基於WPF/Prism的應用程序,因此我還發布了更新GUI中的進度條和文件數的事件,例如:
_eventAggregator.GetEvent<DatabaseProgressEvent>().Publish(new DatabaseProgress(percentDone));
一切都按預期工作接受我仍然在UI更新中看到一個「組塊」效果,與SaveChangesAsync()
的調用一致。
基本上這仍然阻塞正在執行的線程。這是SQL Server CE的限制嗎?還是我在做一些非常愚蠢的事情?
我可以找到寶貴的一點關於這個谷歌搜索和沒有什麼。