Entity framework core 创建实例时在查询中使用FirstOrDefaultAsync
我有以下实体框架查询:Entity framework core 创建实例时在查询中使用FirstOrDefaultAsync,entity-framework-core,linq-to-entities,Entity Framework Core,Linq To Entities,我有以下实体框架查询: IQueryable<Unit> units = context.Units; Product product = new Product { Conversions = model.Conversions.Select(y => new Conversion { UnitId = units .Where(z => z.Name == y.Unit) .Select(z => z.Unit.Id)
IQueryable<Unit> units = context.Units;
Product product = new Product {
Conversions = model.Conversions.Select(y => new Conversion {
UnitId = units
.Where(z => z.Name == y.Unit)
.Select(z => z.Unit.Id)
.FirstOrDefault(),
Value = y.Value
}).ToList(),
Name = model.Name
}
这是不允许的,因为它位于新转换
我是否应该使用
wait
?如何在此查询中使用它?您可以使用以下方法:
unitId = await Task.Factory.Start<int>(()=>{
return units.Where(z => z.Name == y.Unit)
.Select(z => z.Unit.Id)
.FirstOrDefault();
})
unitId=wait Task.Factory.Start(()=>{
返回单位。其中(z=>z.Name==y.Unit)
.Select(z=>z.Unit.Id)
.FirstOrDefault();
})
将int更改为您的返回类型。您可以使用以下方法:
unitId = await Task.Factory.Start<int>(()=>{
return units.Where(z => z.Name == y.Unit)
.Select(z => z.Unit.Id)
.FirstOrDefault();
})
unitId=wait Task.Factory.Start(()=>{
返回单位。其中(z=>z.Name==y.Unit)
.Select(z=>z.Unit.Id)
.FirstOrDefault();
})
将int更改为您的返回类型