Twój problem to
Więc spróbuj w ten sposób zamiast kodu
Edytuj:
query.Include("User").Include("Region").Include("Category").ToList();
Daj mi znać, jeśli po tej zmianie pojawi się ten sam błąd.
Aktualizacja:
Zmieniłem coś dla Ciebie Użyj tego kodu zamiast swojej metody
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();
}
}
Aktualizacja 2:
A przepełnienie stosu sprawiło, że wiele osób znalazło rozwiązania na Twoje pytanie
1:Entity Framework:Istnieje już otwarty DataReader powiązany z tym poleceniem
3:Błąd:istnieje już otwarty DataReader powiązany z tym poleceniem, który należy najpierw zamknąć
i moja osobista rada dla, myślę, że nie poświęciłeś więcej czasu na ten błąd, bo strata czasu i energii , a możesz to zrobić za pomocą ręcznego zapytania . Wypróbuj więc różne sposoby.
Nie potrzebujesz dzielenia i formatowania zapytań, aby uniknąć input string was not correct format
błąd
Możesz to zrobić w ten sposób zamiast return query.ToList();
return _dbSet.Users
.Include(x => x.Region)
.Include(x => x.Category).ToList();
Myślę, że możesz to zrobić, używając mojego powyższego SO
spinki do mankietów.
A moje główne pytanie brzmi: