Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq中的第一个方法是异步的吗?_Linq_.net Core_Entity Framework Core - Fatal编程技术网

Linq中的第一个方法是异步的吗?

Linq中的第一个方法是异步的吗?,linq,.net-core,entity-framework-core,Linq,.net Core,Entity Framework Core,我是dotnetasp核心的新手,希望使用异步方法与数据库进行对话,以遵循良好的实践 在我面临的场景中,我需要检索与条件匹配的表的第一条记录。它可能存在,也可能不存在。因此,我首先使用实体框架dbContext.mytable.First,但它似乎不是异步的 我应该去掉它,只使用dbContext.mytable.FindAsync吗 您可能缺少引用 注意名称空间和程序集 Namespace: Microsoft.EntityFrameworkCore Assembly: Micr

我是dotnetasp核心的新手,希望使用异步方法与数据库进行对话,以遵循良好的实践

在我面临的场景中,我需要检索与条件匹配的表的第一条记录。它可能存在,也可能不存在。因此,我首先使用实体框架dbContext.mytable.First,但它似乎不是异步的


我应该去掉它,只使用dbContext.mytable.FindAsync吗

您可能缺少引用

注意名称空间和程序集

Namespace:    Microsoft.EntityFrameworkCore
Assembly:    Microsoft.EntityFrameworkCore.dll
这应该允许使用
FirstAsync

var result = await dbContext.mytable.FirstAsync(x => x.property == something);
如果该记录可能不存在,则使用


您可能缺少引用说明如果记录不存在,则命名空间和assemblyFirst()将引发异常,而您可以使用FirstOrDefault,因此如果记录不存在,则返回值将为null,并且不会引发任何验证。正常的LINQ方法都不是异步的。他们需要一个返回类型
Task
才能是异步的。这一点很好,但是,我应该在动作控制器中仍然使用非异步方法吗?每个人似乎都同意只应该使用异步函数。
var result = await dbContext.mytable.FirstOrDefaultAsync(x => x.property == something);