Rumah >pembangunan bahagian belakang >C++ >Mengapa Perintah Rangka Kerja Entiti Saya Masih Tamat Masa Walaupun Konfigurasi Rentetan Sambungan?
Tamat Masa Rangka Kerja Entiti Penyelesaian Masalah
Tamat masa Rangka Kerja Entiti Gigih (EF), walaupun selepas pelarasan rentetan sambungan, adalah sakit kepala yang biasa, terutamanya apabila bekerja dengan set data yang banyak. Artikel ini menangani isu yang diketahui apabila tetapan CommandTimeout
rentetan sambungan tidak berkesan.
Penyelesaian: Konfigurasi Konteks Langsung
Masalah berpunca daripada pepijat yang menjejaskan Default Command Timeout
dalam rentetan sambungan EF. Untuk menyelesaikan masalah ini, alih keluar Default Command Timeout
daripada rentetan sambungan anda dan tetapkan tamat masa secara eksplisit dalam konteks data anda. Pendekatan yang betul berbeza-beza bergantung pada versi EF anda:
Untuk Rangka Kerja Entiti Teras 1.0 dan lebih baharu:
<code class="language-csharp">this.context.Database.SetCommandTimeout(180);</code>
Untuk Rangka Kerja Entiti 6:
<code class="language-csharp">this.context.Database.CommandTimeout = 180;</code>
Untuk Rangka Kerja Entiti 5:
<code class="language-csharp">((IObjectContextAdapter)this.context).ObjectContext.CommandTimeout = 180;</code>
Untuk Rangka Kerja Entiti 4 dan lebih awal:
<code class="language-csharp">this.context.CommandTimeout = 180;</code>
Dengan menetapkan terus sifat CommandTimeout
pada objek konteks, anda memintas tetapan rentetan sambungan yang bermasalah dan memastikan EF mengendalikan operasi yang berjalan lama dengan betul. Ingat untuk menggantikan 180
dengan nilai tamat masa yang sesuai dalam beberapa saat.
Mencari Tamat Masa Optimum
Percubaan adalah penting. Mulakan dengan nilai yang lebih tinggi (cth., 180 saat) dan laraskan secara beransur-ansur sehingga anda menemui keseimbangan antara pelaksanaan pertanyaan yang cekap dan integriti data. Elakkan nilai yang terlalu tinggi untuk mengelakkan kelewatan yang tidak dijangka.
Atas ialah kandungan terperinci Mengapa Perintah Rangka Kerja Entiti Saya Masih Tamat Masa Walaupun Konfigurasi Rentetan Sambungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!