RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
Menjalankan SQL yang diberikan terhadap database dan mengembalikan jumlah baris yang terpengaruh. |
ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
Menjalankan SQL yang diberikan terhadap database dan mengembalikan jumlah baris yang terpengaruh. |
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
Menjalankan SQL yang diberikan terhadap database dan mengembalikan jumlah baris yang terpengaruh. |
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)
Menjalankan SQL yang diberikan terhadap database dan mengembalikan jumlah baris yang terpengaruh.
public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
Parameter
- databaseFacade
- DatabaseFacade
DatabaseFacade untuk konteksnya.
- sql
- String
SQL yang akan dijalankan.
- parameters
- IEnumerable<Object>
Parameter yang akan digunakan dengan SQL.
- cancellationToken
- CancellationToken
A CancellationToken untuk mengamati sambil menunggu tugas selesai.
Mengembalikan
Tugas yang mewakili operasi asinkron. Hasil tugas adalah jumlah baris yang terpengaruh.
Pengecualian
CancellationToken Jika dibatalkan.
Keterangan
Perhatikan bahwa metode ini tidak memulai transaksi. Untuk menggunakan metode ini dengan transaksi, pertama-tama panggil BeginTransaction(DatabaseFacade, IsolationLevel) atau UseTransaction.
Perhatikan bahwa saat ini ExecutionStrategy tidak digunakan oleh metode ini karena SQL mungkin tidak idempotensi dan tidak berjalan dalam transaksi. ExecutionStrategy dapat digunakan secara eksplisit, memastikan untuk juga menggunakan transaksi jika SQL tidak idempotensi.
Seperti halnya API apa pun yang menerima SQL, penting untuk membuat parameter input pengguna apa pun untuk melindungi dari serangan injeksi SQL. Anda dapat menyertakan tempat penampung parameter dalam string kueri SQL lalu menyediakan nilai parameter sebagai argumen tambahan. Nilai parameter apa pun yang Anda berikan akan secara otomatis dikonversi ke DbParameter.
Namun, jangan pernah meneruskan string yang digabungkan atau diinterpolasi ($""
) dengan nilai yang disediakan pengguna yang tidak divalidasi ke dalam metode ini. Melakukannya dapat mengekspos aplikasi Anda ke serangan injeksi SQL. Untuk menggunakan sintaks string terinterpolasi, pertimbangkan untuk menggunakan ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) untuk membuat parameter.
Lihat Menjalankan perintah SQL mentah dengan EF Core untuk informasi dan contoh selengkapnya.
Berlaku untuk
ExecuteSqlRawAsync(DatabaseFacade, String, Object[])
Menjalankan SQL yang diberikan terhadap database dan mengembalikan jumlah baris yang terpengaruh.
public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Task(Of Integer)
Parameter
- databaseFacade
- DatabaseFacade
DatabaseFacade untuk konteksnya.
- sql
- String
SQL yang akan dijalankan.
- parameters
- Object[]
Parameter yang akan digunakan dengan SQL.
Mengembalikan
Tugas yang mewakili operasi asinkron. Hasil tugas adalah jumlah baris yang terpengaruh.
Keterangan
Perhatikan bahwa metode ini tidak memulai transaksi. Untuk menggunakan metode ini dengan transaksi, pertama-tama panggil BeginTransaction(DatabaseFacade, IsolationLevel) atau UseTransaction.
Perhatikan bahwa saat ini ExecutionStrategy tidak digunakan oleh metode ini karena SQL mungkin tidak idempotensi dan tidak berjalan dalam transaksi. Dapat ExecutionStrategy digunakan secara eksplisit, memastikan juga untuk menggunakan transaksi jika SQL tidak idempotensi.
Seperti halnya API apa pun yang menerima SQL, penting untuk membuat parameter input pengguna apa pun untuk melindungi dari serangan injeksi SQL. Anda dapat menyertakan tempat penampung parameter dalam string kueri SQL lalu menyediakan nilai parameter sebagai argumen tambahan. Nilai parameter apa pun yang Anda berikan akan secara otomatis dikonversi ke DbParameter.
Namun, jangan pernah meneruskan string yang digabungkan atau diinterpolasi ($""
) dengan nilai yang disediakan pengguna yang tidak divalidasi ke dalam metode ini. Melakukannya dapat mengekspos aplikasi Anda ke serangan injeksi SQL. Untuk menggunakan sintaks string terinterpolasi, pertimbangkan untuk menggunakan ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) untuk membuat parameter.
Lihat Menjalankan perintah SQL mentah dengan EF Core untuk informasi dan contoh selengkapnya.
Berlaku untuk
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)
Menjalankan SQL yang diberikan terhadap database dan mengembalikan jumlah baris yang terpengaruh.
public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
Parameter
- databaseFacade
- DatabaseFacade
DatabaseFacade untuk konteksnya.
- sql
- String
SQL yang akan dijalankan.
- cancellationToken
- CancellationToken
A CancellationToken untuk mengamati sambil menunggu tugas selesai.
Mengembalikan
Tugas yang mewakili operasi asinkron. Hasil tugas adalah jumlah baris yang terpengaruh.
Pengecualian
CancellationToken Jika dibatalkan.
Keterangan
Perhatikan bahwa metode ini tidak memulai transaksi. Untuk menggunakan metode ini dengan transaksi, pertama-tama panggil BeginTransaction(DatabaseFacade, IsolationLevel) atau UseTransaction.
Perhatikan bahwa saat ini ExecutionStrategy tidak digunakan oleh metode ini karena SQL mungkin tidak idempotensi dan tidak berjalan dalam transaksi. Dapat ExecutionStrategy digunakan secara eksplisit, memastikan juga untuk menggunakan transaksi jika SQL tidak idempotensi.
Jangan pernah meneruskan string yang digabungkan atau diinterpolasi ($""
) dengan nilai yang disediakan pengguna yang tidak divalidasi ke dalam metode ini. Melakukannya dapat mengekspos aplikasi Anda ke serangan injeksi SQL.
Lihat Menjalankan perintah SQL mentah dengan EF Core untuk informasi dan contoh selengkapnya.
Berlaku untuk
Entity Framework