Bonjour,

je développe une Web Api avec Entity Framework.

J'ai mon interface :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public interface IGenderRepository
    {
        IQueryable<Gender> Get();
    }
Mon repository

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class EFGenderRepository : IGenderRepository
    {
        private ApplicationDbContext _context;
 
        public EFGenderRepository(ApplicationDbContext ctx)
        {
            _context = ctx;
        }
 
        public IQueryable<Gender> Get()
        {
            try
            {
                return _context.Genders.AsQueryable();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
Et mon contrôleur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[HttpGet]
        public async Task<IEnumerable<Gender>> Get()
        {
            try
            {
                var genders = await _genderRepository.Get().ToListAsync();
                var gendersResult = _mapper.Map<IEnumerable<Gender>>(genders);
 
                return gendersResult;
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside Get action int GenderController : {ex.Message} ");
                return null;
            }
 
        }
Lorsque je teste ma méthode Get (via swagger) j'obtiens le message d'erreur suivant :

"The source IQueryable doesn't implement IDbAsyncEnumerable<Projet.Entities.Class.Gender>. Only sources that implement IDbAsyncEnumerable can be used for Entity Framework asynchronous operations. For more details see http://go.microsoft.com/fwlink/?LinkId=287068."
Le lien renseigné parle de tests.

Je ne comprends pas très bien pourquoi j'ai ce message d'erreur.

Quelqu'un aurait une idée?

Merci pour votre aide