在.Net core中,我有一个查询,想使结果异步,但是程序只是终止而没有任何错误。
代码是这样的:
var query = from row in context.MyTable
where something == row.something
select row;
var list = await query.ToListAsync();
如果执行FirstAsync,该程序也会终止,但是如果执行First()或ToList(),则该程序可以正常运行。
我还有许多其他运行良好的查询,并且我认为终止是很残酷的,但找不到其他经历过的终止。
我该如何解决? (现在我只使用ToList)
最佳答案
由于Main函数始终是同步的,因此您的顶层Task应该同步等待:
void Main()
{
var serviceTask = StartServiceAsync();
// you cannot do await serviceTask, but only
serviceTask.Wait();
}
因此,您的服务可能不会失败-它在Main func到达末尾并关闭应用程序时才终止。
关于c# - C#.NET Core linq到实体异步调用终止程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42804752/