Invalidoperationexception: с этой командой уже связан открытый datareader, который должен быть закрыт в первую очередь. С помощью ASP.NET идентичность
Я пытаюсь вернуть данные из базы данных:
public List<DataModel> GET() { foreach (var users in db.Users) { var user = db.Users.Select(x => new DataModel() { Email = users.Email, UserName = users.UserName, FirstName = users.FirstName, LastName = users.LastName, Age = users.Age, Phone = users.Phone, Department = users.Department }); return user.ToList(); }
Вот класс БД:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser, CustomRole, int, CustomUserLogin, CustomUserRole, CustomUserClaim> { public ApplicationDbContext() : base("DefaultConnection") { } public static ApplicationDbContext Create() { return new ApplicationDbContext(); } }
Вот в чем ошибка:
InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.
Не могли бы вы сказать, что не так с этим кодом?
Что я уже пробовал:
У меня есть четыре записи в базе данных, и следующий код возвращает четыре записи, но с данными первой записи !!
public List<DataModel> GET() { var user = db.Users.Select(x => new DataModel() { Email = db.Users.FirstOrDefault().Email, UserName = db.Users.FirstOrDefault().UserName, FirstName = db.Users.FirstOrDefault().FirstName, LastName = db.Users.FirstOrDefault().LastName, Age = db.Users.FirstOrDefault().Age, Phone = db.Users.FirstOrDefault().Phone, Department = db.Users.FirstOrDefault().Department }); return user.ToList(); }