C# 带有DbSet的LINQ ToListAsync表达式
我已经编写了一个C#MVC5互联网应用程序,并且对如何使用C# 带有DbSet的LINQ ToListAsync表达式,c#,linq,async-await,entity-framework-6,ienumerable,C#,Linq,Async Await,Entity Framework 6,Ienumerable,我已经编写了一个C#MVC5互联网应用程序,并且对如何使用.ToListAsyncLINQ表达式有疑问 以下是我在索引操作结果中使用的代码: IEnumerable<IMapLocationItem> mapLocationImageGalleries = await db.mapLocationImageGalleries.Where(m => m.userName.Equals(userName)).ToListAsync(); IEnumerable<IMapLoc
.ToListAsync
LINQ表达式有疑问
以下是我在索引操作结果中使用的代码:
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);
IEnumerable mapLocationImageGalleries=wait db.mapLocationImageGalleries.Where(m=>m.userName.Equals(userName)).toListSync();
IEnumerable mapLocationVideoGalleries=等待db.mapLocationVideoGalleries.Where(m=>m.userName.Equals(userName)).ToListSync();
IEnumerable mapLocationItemsCombined=mapLocationImageGalleries.Concat(mapLocationVideoGalleries);
我想为上面的代码创建一个服务函数。以下是我编写的代码:
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;
}
公共异步任务GetAllMapLocationItemsFromUserName(字符串用户名)
{
IEnumerable mapLocationImageGalleries=等待db.mapLocationImageGalleries.Where(m=>m.userName.Equals(userName)).ToListSync();
IEnumerable mapLocationVideoGalleries=等待db.mapLocationVideoGalleries.Where(m=>m.userName.Equals(userName)).ToListSync();
IEnumerable mapLocationItemsCombined=mapLocationImageGalleries.Concat(mapLocationVideoGalleries);
返回MapLocationItems组合;
}
我得到以下错误:
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?)
错误17“System.Linq.IQueryable”不包含“ToListSync”的定义,并且找不到接受“System.Linq.IQueryable”类型的第一个参数的扩展方法“ToListSync”(是否缺少using指令或程序集引用?)
完全相同的代码可以在索引操作结果中正常工作,但在服务方法中却不行。为什么会这样?我怎样才能让它工作
提前感谢如评论中所述,使用System.Data.Entity(在Entity Framework包下)添加
,以获取QueryableExtensions
对于.NET Core,这些方法在下。您是否有正确的using语句使用System.Data.Entity
只需添加:QueryableExtensions在Entity Framework包中。您知道.NET Core中应该包含哪些内容吗?@mnwsmit看起来应该在“谢谢”下,这节省了我的时间,因为我是.NET Entity Core的新手:)