gpt4 book ai didi

entity-framework-core - Entity Framework 7异步集合

转载 作者:行者123 更新时间:2023-12-04 03:25:52 26 4
gpt4 key购买 nike

Entity Framework 7中的ToListAsync()在哪里。如何在EF 7中使用异步方法返回集合或SingleOrDefault。

 public async Task<IEnumerable<TodoItem>> GetAllAsync()
{
//TODO: ToListAsync missing?

return await _context.Todos.ToAsyncEnumerable();
}

这返回一个错误,其中不包含GetAwaiter的定义? SaveChangesAsync没有问题。

最佳答案

Microsoft.EntityFrameworkCore命名空间
Microsoft.EntityFrameworkCore命名空间包括async扩展方法。该 namespace 在Microsoft.EntityFrameworkCore包中。这是the source on GitHub,这是其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();
    }
    }
    }

    关于entity-framework-core - Entity Framework 7异步集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34953189/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com