Существует уже открытая DataReader, связанная с этой командойLINQ To ошибки SQL «Существует уже открытая DataReader, связанная с этой командой»
Я получаю эту ошибку, когда я извлечение данных из объекта DataContext ,
Как это можно исправить?
Существует уже открытая DataReader, связанная с этой командойLINQ To ошибки SQL «Существует уже открытая DataReader, связанная с этой командой»
Я получаю эту ошибку, когда я извлечение данных из объекта DataContext ,
Как это можно исправить?
Вы забыли закрыть DataReader, и вы запустите еще один DataReader в том же соединении.
Убедитесь, что вы не объявляете свой DataContext как static
. Создавайте и уничтожайте свой DataContext при каждом использовании.
public MyDataClass{
CustomerDataContext db;
public void MyDataClass()
{
db = new CustomerDataContext();
}
public Customer GetCustomer(int id)
{
return db.Customers.SingleOrDefault(c=>c.ID == id);
}
}
Проверить этот пост
Is mixing ADO.NET and LINQ-TO-SQL bad? My data layer isn't working
Это действительно зависит, как вы хранить, получать доступ и распоряжаться DataContext. Попробуйте воспроизвести ошибку, используя инструмент проверки нагрузки. Я использую jmeter. Многие люди не знают, что у них есть эта проблема, потому что у них слишком мало трафика.
Показать код пожалуйста. –
Вам нужно показать, как вы используете и располагаете DataConext –