Bu Command ile ilişkili, öncelikle kapatılması gereken açık bir DataReader zaten var. hatası

alattin (17125) 11 yıl önce sordu

Asp.Net MVC ve Entity Framework uygulamanızda aşağıdaki gibi hata alıyorsanız web.config içerisindeki bağlantı cümlenizde küçük bir değişiklik yapmanız gerekebilir.


Server Error in '/' Application.

Bu Command ile ilişkili, öncelikle kapatılması gereken açık bir DataReader zaten var.

There is already an open DataReader associated with this Command

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Bu Command ile ilişkili, öncelikle kapatılması gereken açık bir DataReader zaten var.

Source Error:

Line 14:         public static QuestionListViewModel ToQuestionListViewModel(this Post post)
Line 15:         {
Line 16:             QuestionListViewModel ql = new QuestionListViewModel();
Line 17:             ql.AnswersCount = post.AnswerCount.ToString();
Line 18:             ql.Body = post.Body.Length > 250 ? post.Body.Substring(0, 250) : post.Body;

 

Toplam 1 cevap


alattin (17125) 11 yıl önce cevapladı

Tek bir bağlantı üzerinden çoklu veri çekme isteğinde bulunduğunuzda bu hata ile karşılaşabilirsiniz.

Veritabanı bağlantı cümleniz içerisinde yani connection string'de MultipleActiveResultSets özelliğini true yapmalısınız.

Eğer bağlantı cümleniz web.config içerisindeyse

 <connectionStrings>
    <add name="DbContext0" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DB;Integrated Security=SSPI;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>

şeklinde düzenleyin.