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

1

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;

 

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

    Toplam 1 Cevap


    1

    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.

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

      üyelik gerektirir

      Cevap yazabilmek için üye girişi yapmalısınız.

      Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
      uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol