Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Já existe um DataReader aberto associado a esta conexão que deve ser fechado primeiro + asp.net mvc


Seu problema é

Então, por favor, tente desta forma em vez do seu código

Editar:
query.Include("User").Include("Region").Include("Category").ToList(); 

Deixe-me saber, se você receber o mesmo erro após essa alteração.

Atualização:

Eu mudei alguma coisa para você Por favor use este código em vez do seu método
 public virtual IEnumerable<TEntity> Get(
    Expression<Func<TEntity, bool>> filter = null,
    Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
    string includeProperties = "")
        {
            IQueryable<TEntity> query = _dbSet;

            if (filter != null)
            {
                query = query.Where(filter);
            }


            if (orderBy != null)
            {
                return orderBy(query.Include("User").Include("Region").Include("Category").ToList()).ToList();
            }
            else
            {
                return query.Include("User").Include("Region").Include("Category").ToList(); 
            }
        }

Atualização 2:

E o estouro de pilha tem muitas pessoas com as soluções para sua pergunta

1:Entity Framework:Já existe um DataReader aberto associado a este Comando

2:Como evitar "Já existe um DataReader aberto associado a esta conexão que deve ser fechado primeiro." no conector MySql/net?

3:Erro:Já existe um DataReader aberto associado a este Comando que deve ser fechado primeiro

e meu conselho pessoal para, acho que você não gastou mais tempo com esse erro, pois perdeu tempo e energia, e pode fazê-lo usando por consulta manual. Então, por favor, tente de maneiras diferentes.

Você não precisa de consultas de divisão e formatação para evitar input string was not correct format erro

Você pode fazer desta forma em vez de return query.ToList();
return _dbSet.Users
    .Include(x => x.Region)
    .Include(x => x.Category).ToList();

Acho que você pode fazer isso usando meu SO acima links.

E minha principal dúvida é: