Sono nuovo di EF e sto cercando di utilizzare un metodo di estensione che converte dal mio tipo di database User
alla mia classe di informazioni UserInfo
.
Sto usando il database per primo se questo fa la differenza?L'operazione non può essere completata perché DbContext è stato eliminato errore
mio codice qui sotto dà l'errore
L'operazione non può essere completata perché il DbContext è stato eliminato.
try
{
IQueryable<User> users;
using (var dataContext = new dataContext())
{
users = dataContext.Users
.Where(x => x.AccountID == accountId && x.IsAdmin == false);
if(users.Any() == false)
{
return null;
}
}
return users.Select(x => x.ToInfo()).ToList(); // this line is the problem
}
catch (Exception ex)
{
//...
}
vedo il motivo per cui lo farebbe, ma anche io non capisco perché il risultato della cui dichiarazione è non essere salvato nell'oggetto users
?
Quindi penso che la mia domanda principale è perché non funziona e in secondo luogo qual è il modo giusto di utilizzare i metodi di estensione e EF?
Grazie. Ora posso vedere che IQueryable è dove mi trovo nei guai. Se metto gli utenti.Seleziona() ... riga nell'istruzione using mi dà un altro errore (domanda diversa credo). Così ho cambiato il tipo di ritorno in IEnumerable e questo ha risolto il mio problema. –
Colin
Grazie per aver lavorato per me e ora sono venuto a sapere che IQueryable richiesto DBContext attivo –