Pomelo.entityframeworkcore.mysql: Profiler SQL

Dibuat pada 22 Sep 2016  ·  4Komentar  ·  Sumber: PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

Adakah yang bisa merekomendasikan cara saya bisa melihat pernyataan sql lengkap aktual yang dikirim ke mysql dengan perpustakaan ini? Logger debug mengeluarkan kueri dengan parameter, tetapi menunjukkan nilai parameter aktual sebagai ? seperti di bawah ini. Saya mencoba men-debug beberapa masalah dengan parameter tanggal dan perlu melihat nilai parameter persis yang diterima mysql. Terima kasih!

Menjalankan DbCommand (3.887 md) [Parameters=[@__utcDate_0='?', @__AddDays_1='?', @__viewModel_LastName_2='?' (Ukuran = 8000), @__viewModel_BirthDate_Date_3='?', @__AddDays_4='?'], CommandType='Teks', CommandTimeout='30']

Semua 4 komentar

Saya tahu ini adalah peretasan, tetapi Anda dapat menggunakan Wireshark untuk melihat apa yang sebenarnya dikirim ke database.

Alasan Anda melihat log berparameter di ? format ini karena Driver Database menggunakan Pernyataan yang Disiapkan. Pernyataan yang disiapkan lolos parameter pada DBMS dan mencegah SQL Injection. Pernyataan tersebut sebenarnya dikirim ke DBMS dengan ? tanda, dan parameter dikirim secara terpisah.

1.1.0-rtm-10002 sekarang menyertakan pencatatan log pernyataan ketika log Debug atau Info digunakan di .NET MVC

Saya tidak dapat menemukan logging pernyataan.

startup.cs Konfigurasi metode:
loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug();

pengaturan aplikasi.json
"Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug" } }

Versi: kapan:
1.1.1-prarilis-10020

@caleblloyd

Harap perhatikan bahwa Anda perlu menggunakan EnableSensitiveDataLogging() untuk melihat nilai parameter aktual saat mengonfigurasi konteks.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat