c# Lambda语法在VSCode中使用



angular 11 -我总是提到VSCode,因为它有很多bug。然而:

var roles = await _context.Roles.ToListAsync<AppRole>(x => { x.Id == Id } );

得到

";预计csharp (CS1002)";Id后的列和曲线指向右侧的}

我已经尝试了各种各样的变化,但看不出哪里不对。它应该从Roles Table中选择所有具有所需的"Id"的批准记录。

任何想法吗?还是我只是在漫长的一周后累了。谢谢,瑜珈

试试这个:

var roles = await _context.Roles.Where(x =>  x.Id == Id ).ToListAsync();

ToListAsync不以谓词作为参数https://learn.microsoft.com/en-us/dotnet/api/system.data.entity.queryableextensions.tolistasync?view=entity-framework-6.2.0。要过滤dbset,您需要查询where,然后转换toList

在将可查询对象强制转换为list之前,不会执行任何查询。

你可以在to list语句之后链接where函数,但这会将所有内容都存储到内存中,并且会过滤列表本身,因此不推荐使用。

最新更新