C# 如何使用linq在数据库集中查找项目
我正在使用C#并希望得到一些帮助来编写C# 如何使用linq在数据库集中查找项目,c#,linq,list,asynchronous,dbset,C#,Linq,List,Asynchronous,Dbset,我正在使用C#并希望得到一些帮助来编写LINQ FindAsync语句以查找具有特定id的MapLocation 我有一个DbSet,其中每个MapCompany都有一个列表 我有MapLocation的id,需要编写LINQ语句来查找MapLocation 以下是我到目前为止的情况: MapLocation maplocation = await db.mapCompanies.SelectMany(mapCompany => mapCompany.mapLocations).FindA
LINQ FindAsync
语句以查找具有特定id
的MapLocation
我有一个DbSet
,其中每个MapCompany
都有一个列表
我有MapLocation
的id
,需要编写LINQ
语句来查找MapLocation
以下是我到目前为止的情况:
MapLocation maplocation = await db.mapCompanies.SelectMany(mapCompany => mapCompany.mapLocations).FindAsync(id);
能帮我把这个写对吗
提前感谢FindAsync()
是DbSet
上的一种方法SelectMany()
返回一个IQueryable
,因此FindAsync()
不可用。您必须使用SingleAsync()
(或FirstAsync()
,如果可能存在重复项)
如果要使用FindAsync()
,则必须在数据库上下文中创建一个映射到MapLocations
表的DbSet
。那你就可以用
MapLocation maplocation = await db.MapLocations.FindAsync(id);
那代码不起作用吗?会发生什么?
MapLocation maplocation = await db.MapLocations.FindAsync(id);