1

私は C# を使用していますが、特定の でLINQ FindAsyncを検索するステートメントを作成するための助けが必要です。MapLocationid

私には がありDbSet<MapCompany>、それぞれMapCompanyに がありList<MapLocation>ます。

私は の を持っており、idを見つけるためにステートメントをMapLocation書く必要があります。LINQMapLocation

これが私がこれまでに持っているものです:

MapLocation maplocation = await db.mapCompanies.SelectMany(mapCompany => mapCompany.mapLocations).FindAsync(id);

これを正しく書くために助けてもらえますか?

前もって感謝します

4

1 に答える 1

3

FindAsync()上の方法DbSet<T>です。SelectMany()soは使用IQueryable<T>できFindAsync()ません。使用する必要がありますSingleAsync()(またはFirstAsync()重複の可能性がある場合)...

MapLocation maplocation = await db.mapCompanies
                                  .SelectMany(mapCompany => mapCompany.mapLocations)
                                  .SingleAsync(l => l.Id == id);

を使用する場合は、テーブルにマップする DbContext に をFindAsync()作成する必要があります。それからあなたはただ使うことができます...DbSet<MapLocation>MapLocations

MapLocation maplocation = await db.MapLocations.FindAsync(id);
于 2014-07-18T08:13:02.370 に答える