Dove si trova ToListAsync () in Entity Framework 7. Come restituire una raccolta o SingleOrDefault utilizzando i metodi asincroni in EF 7.
public async Task<IEnumerable<TodoItem>> GetAllAsync()
{
//TODO: ToListAsync missing?
return await _context.Todos.ToAsyncEnumerable();
}
Ciò restituisce un errore non contiene la definizione per GetAwaiter? SaveChangesAsync non presenta problemi.
Microsoft.EntityFrameworkCore
Lo spazio dei nomi Microsoft.EntityFrameworkCore
include i metodi di estensione async
. Questo spazio dei nomi si trova nel pacchetto Microsoft.EntityFrameworkCore
. Ecco la fonte su GitHub e qui ci sono i suoi metodi di estensione async
.
AnyAsync()
AllAsync()
CountAsync()
LongCountAsync()
FirstAsync()
FirstOrDefaultAsync()
LastAsync()
LastOrDefaultAsync()
SingleAsync()
SingleOrDefaultAsync()
MinAsync()
MaxAsync()
SumAsync()
AverageAsync()
ContainsAsync()
ToListAsync()
ToArrayAsync()
LoadAsync()
ToDictionaryAsync()
ForEachAsync()
project.json
"Microsoft.EntityFrameworkCore": "1.0.0",
ApplicationUserRepository.cs
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace MyApplication.Models {
public class ApplicationUserRepository : IApplicationUserRepository
{
private ApplicationDbContext _dbContext;
public ApplicationUserRepository(ApplicationDbContext dbContext) {
_dbContext = dbContext;
}
public async Task<ApplicationUser> Find(Guid id)
{
return await _dbContext.Users.SingleAsync(u => u.Id == id);
}
public async Task<IEnumerable<ApplicationUser>> GetAll()
{
return await _dbContext.Users.ToListAsync();
}
}
}