При работе с EF (чтиение данных, сохранение изменений) достаточно часто вылетает exception
EntityException "Существует назначенный этой команде открытый DataReader, который требуется предварительно закрыть"
Здравствуйте, Аноним, Вы писали:
А> При работе с EF (чтиение данных, сохранение изменений) достаточно часто вылетает exception А>EntityException "Существует назначенный этой команде открытый DataReader, который требуется предварительно закрыть"
А> В чем может быть причина и как с этим бороться?
БД MSSQL Server? если да, то ошибки такой быть не должно.
Если база другая, то провайдер не умеет создавать вложенные транзакции.
Для того чтобы избежать проблем, после каждого запроса, делайте .ToList()
или что то аналогичное.
Здравствуйте, Аноним, Вы писали:
А> При работе с EF (чтиение данных, сохранение изменений) достаточно часто вылетает exception А>EntityException "Существует назначенный этой команде открытый DataReader, который требуется предварительно закрыть"
А> В чем может быть причина и как с этим бороться?
В connection string надо добавить MultipleActiveResultSets=true;
Re[2]: EF часто возникает exception
От:
Аноним
Дата:
16.10.09 13:08
Оценка:
Здравствуйте, Lexxpin, Вы писали:
L>Здравствуйте, Аноним, Вы писали:
А>> При работе с EF (чтиение данных, сохранение изменений) достаточно часто вылетает exception А>>EntityException "Существует назначенный этой команде открытый DataReader, который требуется предварительно закрыть"
А>> В чем может быть причина и как с этим бороться?
L>БД MSSQL Server? если да, то ошибки такой быть не должно. L>Если база другая, то провайдер не умеет создавать вложенные транзакции. L>Для того чтобы избежать проблем, после каждого запроса, делайте .ToList() L>или что то аналогичное.
База MSSQL2005. Ошибка эта есть. .ToList() помог, но не понятно почему не работает через энумератор. У меня есть IQueryable-запрос. Я для него возвращаю Enumerator и проходу по нему. Объекты возвращаются, но потом вот такой вот exception. Если вызывать .ToString, то нормально.