c# - first - using in entity framework
Expresión LINQ ToListAsync con un DbSet (1)
He codificado una aplicación de Internet C # MVC5 y tengo una pregunta sobre el uso de la expresión .ToListAsync
LINQ.
Aquí está mi código que funciona en un resultado de acción de índice:
IEnumerable<IMapLocationItem> mapLocationImageGalleries = await db.mapLocationImageGalleries.Where(m => m.userName.Equals(userName)).ToListAsync();
IEnumerable<IMapLocationItem> mapLocationVideoGalleries = await db.mapLocationVideoGalleries.Where(m => m.userName.Equals(userName)).ToListAsync();
IEnumerable<IMapLocationItem> mapLocationItemsCombined = mapLocationImageGalleries.Concat(mapLocationVideoGalleries);
Quiero crear una función de servicio para el código anterior. Esto es lo que he codificado:
public async Task<IEnumerable<IMapLocationItem>> GetAllMapLocationItemsFromUserName(string userName)
{
IEnumerable<IMapLocationItem> mapLocationImageGalleries = await db.mapLocationImageGalleries.Where(m => m.userName.Equals(userName)).ToListAsync();
IEnumerable<IMapLocationItem> mapLocationVideoGalleries = await db.mapLocationVideoGalleries.Where(m => m.userName.Equals(userName)).ToListAsync();
IEnumerable<IMapLocationItem> mapLocationItemsCombined = mapLocationImageGalleries.Concat(mapLocationVideoGalleries);
return mapLocationItemsCombined;
}
Estoy teniendo el siguiente error:
Error 17 ''System.Linq.IQueryable<CanFindLocation.Models.MapLocationItems.MapLocationImageGallery>'' does not contain a definition for ''ToListAsync'' and no extension method ''ToListAsync'' accepting a first argument of type ''System.Linq.IQueryable<CanFindLocation.Models.MapLocationItems.MapLocationImageGallery>'' could be found (are you missing a using directive or an assembly reference?)
El mismo código exacto funciona bien en el resultado de la acción Índice, pero no en un método de servicio. ¿Por qué es esto y cómo puedo hacer que esto funcione?
Gracias por adelantado
Como se indicó en los comentarios, agregue el using System.Data.Entity
(en el paquete Entity Framework) para obtener QueryableExtensions
.
Para .NET Core, estos métodos están bajo Microsoft.EntityFrameworkCore