عنوان:

‫ایجاد یک Interceptor برای پیدا کردن کوئری های کند در EntityFramework Core


نویسنده: زمانی فرهاد
تاریخ: ۱۴۰۰/۰۳/۲۸ ۱۶:۴۳
آدرس: www.dntips.ir

در این مطلب میخواهیم یک Interceptor ایجاد کنیم برای پیدا کردن کوئری هایی که بیشتر از 2 ثانیه طول میکشند. برای پیاده سازی باید یک کلاس ایجاد کنیم که از کلاس DbCommandInterceptor ارث بری کند. کلاس DbCommandInterceptor در EF Core 3 و یا ورژن‌های بالاتر قرار دارد و به طور مثال نمیتوانید در EF Core 2.1 از آن استفاده کنید 



مشاهده مطلب اصلی

نظرات

  • سید امید موسوی در ۱۴۰۲/۰۴/۱۱ ۱۳:۱۳
    اطلاعات تکمیلی

    Method Description
    CommandCreating Before a command is created (NOTE: Everything is a command, so this will intercept all queries)
    CommandCreated After a command creation but before execution
    CommandFailed[Async] After a command has failed with an exception during execution
    ReaderExecuting[Async] Before a “query” command is executed
    ReaderExecuted[Async] After a “query” command is executed
    NonQueryExecuting[Async] Before a “non-query” command is executed (NOTE: An example of a non-query are usages of ExecuteSqlRaw
    NonQueryExecuted[Async] After a “non-query” command is executed
    ScalarExecuting[Async] Before a “scalar” command is executed (NOTE: “scalar” is kind of synonymous with stored procedure)
    ScalarExecuted[Async] After a “scalar” command is executed
    DataReaderDisposing After a command is executed