c# .net core linq to entities 异步调用终止程序
c# .net core linq to entities async call terminates program
在 .Net 核心中,我有一个查询并希望获得异步结果,但程序只是终止而没有任何错误。
代码是这样的:
var query = from row in context.MyTable
where something == row.something
select row;
var list = await query.ToListAsync();
如果我执行 FirstAsync,程序也会终止,但如果我执行 First() 或 ToList(),它运行正常。
我有许多其他查询都表现良好,我认为终止是相当残酷的,但我找不到任何其他经历过它的人。
我该如何解决? (目前我只使用 ToList)
因为 Main 函数总是同步的,你的顶级任务应该同步等待:
void Main()
{
var serviceTask = StartServiceAsync();
// you cannot do await serviceTask, but only
serviceTask.Wait();
}
所以您的服务可能不会失败 - 它只是在 Main func 结束并且应用程序关闭时终止。
在 .Net 核心中,我有一个查询并希望获得异步结果,但程序只是终止而没有任何错误。
代码是这样的:
var query = from row in context.MyTable
where something == row.something
select row;
var list = await query.ToListAsync();
如果我执行 FirstAsync,程序也会终止,但如果我执行 First() 或 ToList(),它运行正常。
我有许多其他查询都表现良好,我认为终止是相当残酷的,但我找不到任何其他经历过它的人。
我该如何解决? (目前我只使用 ToList)
因为 Main 函数总是同步的,你的顶级任务应该同步等待:
void Main()
{
var serviceTask = StartServiceAsync();
// you cannot do await serviceTask, but only
serviceTask.Wait();
}
所以您的服务可能不会失败 - 它只是在 Main func 结束并且应用程序关闭时终止。