Tamat Masa Rangka Kerja Entiti: Tetapkan Masa Perintah dengan betul
Apabila menggunakan Rangka Kerja Entiti (EF), jika anda menghadapi tamat masa import fungsi (lebih daripada 30 saat), adalah penting untuk memahami langkah untuk menetapkan tamat masa perintah dengan betul. Semasa menambahkan "Tamat Masa Perintah Lalai=300000" pada rentetan sambungan mungkin kelihatan mudah dan mudah, terdapat pepijat yang diketahui dengan pendekatan ini dalam beberapa versi EF.
Untuk menyelesaikan isu ini, tetapkan CommandTimeout secara manual pada objek konteks dalam repositori. Dalam EF 4 dan lebih rendah, gunakan this.context.CommandTimeout = 180;
. Dalam EF 5, gunakan ((IObjectContextAdapter)this.context).ObjectContext.CommandTimeout = 180;
. Dalam EF 6, gunakan this.context.Database.CommandTimeout = 180;
. Dalam EF Core 1.0, gunakan this.context.Database.SetCommandTimeout(180);
.
Dengan menetapkan CommandTimeout secara langsung, anda memastikan bahawa nilai tamat masa digunakan pada semua pertanyaan yang dilaksanakan oleh konteks ini. Adalah penting untuk ambil perhatian bahawa menetapkan nilai tamat masa yang bercanggah dalam rentetan sambungan mungkin mengganggu CommandTimeout yang ditetapkan secara manual, jadi amalan terbaik ialah mengalih keluar nilai tamat masa daripada rentetan sambungan.
Dengan mengikut langkah ini, anda boleh menghalang EF daripada tamat masa apabila memproses set data yang besar dan menggunakan EF dengan cekap walaupun dalam situasi yang memerlukan operasi pengambilan data yang besar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Tamat Masa Perintah dengan Betul dalam Rangka Kerja Entiti untuk Mengelakkan Tamat Masa Import Fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!