پیاده سازی رهگیری (Auditing) در ASP.NET Core با Entity Framework Core

در این مقاله پیاده سازی مسیر رهگیری در ASP.NET Core (.NET 5) با استفاده از Entity Framework Core را بررسی خواهیم کرد. بنابراین این مسیر حسابرسی در مورد چیست؟ خوب، این یک تکنیک مفید برای ردیابی تغییراتی است که توسط کاربران وارد شده شما انجام می شود. آیا تا به حال فکر کرده اید که چه کسی مقدار یک رکورد خاص را در برنامه اصلی ASP.NET شما به روز کرده است؟ شما می خواهید همیشه یک رکورد از هر تغییری که در داده های برنامه خود ایجاد شده است، نگه دارید

 

روند دقیقی را که در پس‌زمینه هنگام ثبت مسیرهای حسابرسی اتفاق می‌افتد، به شما نشان خواهم داد. موارد زیر را با اجرای خود پیگیری خواهیم کرد.

  

  • TableName
  • Affected Column(s)
  • Primary Key / Value of the Table
  • Old Values
  • New Values
  • Type – Create/Delete/Update/Delete
  • The user who is Responsible for the modification.
  • Date/Time

در اینجا برخی از گزارش های مسیر حسابرسی ایجاد شده توسط الگوی .NET 5 Clean Architecture Boilerplate آورده شده است. می‌بینید که ما همچنین در حال ضبط فعالیت‌های ورود به سیستم/خروج کاربر نیز هستیم.

جالب به نظر می رسد، بله؟ در پایان این مقاله، ما قادر خواهیم بود اطلاعات خود را به طور کامل ایمن کنیم و تغییرات مرتبط با آن را در این سطح دقیق پیگیری کنیم.

بیایید با اجرای Audit Trail در ASP.NET Core شروع کنیم. بنابراین، در اینجا نحوه انجام آموزش است. من یک برنامه بسیار ابتدایی CRUD با استفاده از NET 5 MVC، Microsoft Identity و Entity Framework Core ایجاد خواهم کرد. پس از انجام این کار، ما شروع به ادغام Audit Trail در برنامه خواهیم کرد. من 2 نوع را مرور می کنم، همه چیز را از پایه کدنویسی می کنم، و برای رسیدن به آن از یک کتابخانه استفاده می کنم. درک نحوه عملکرد فرآیند بسیار مهم است، بنابراین در ابتدا آن را کدگذاری می کنیم.

 

 

اول از همه، اجازه دهید با اجرای CRUD کار را تمام کنیم. برای این، بیایید یک مدل داده محصول ساده بسازیم و نمای آن را برای تولید خودکار کد CRUD ایجاد کنیم. ما در حال انجام این کار هستیم زیرا هدف اصلی این است که در مورد پیاده سازی مسیر حسابرسی در هسته ASP.NET با Entity Framework Core بیاموزیم.

در پوشه Models، یک کلاس جدید به نام Product.cs اضافه کنید. این به همان اندازه ساده است

public class Product
{
public string Id { get; set; }
public string Name { get; set; }
public int Rate { get; set; }
}
 

حالا بیایید یک Controller به همراه Views را داربست کنیم. روی پوشه Controllers راست کلیک کرده و Add Controller را انتخاب کنید. در گفتگوی ظاهر شده، "MVC Controller with views using Entity Framework" را انتخاب کنید. هدف در اینجا ایجاد سریع برنامه CRUD با حداقل کد است.

 

 

 

در کادر محاوره ای بعدی، کلاس Model مناسب را انتخاب کنید (در اینجا محصول است)، و سپس کلاس Context را انتخاب کنید. مطمئن شوید که چک باکس Generate Views را انتخاب کرده و روی Add کلیک کنید.

 

اکنون ویژوال استودیو کارهای سنگینی را برای شما انجام می دهد و Views و Controllerهایی برای ایجاد، خواندن، به روز رسانی و حذف محصولات ایجاد می کند. اما قبل از ادامه، بیایید Migrations را اضافه کنیم و پایگاه داده خود را به روز کنیم. PS، ما از نمونه MSSQL LocalDB استفاده می کنیم. می توانید آن را در appsettings.json/ConnectionStrings تغییر دهید.

کنسول Package Manager را باز کنید و موارد زیر را اجرا کنید.

 

 

خلاصه

در این مقاله با Audit Trail Implementation در ASP.NET Core (.NET 5) با استفاده از Entity Framework Core آشنا شدیم. وقتی با برنامه هایی که توسط چندین کاربر استفاده می شود و غیره شروع به کار می کنید، این بسیار مفید است.

 

 

 

شما می توانید کد کامل پیاده سازی را در اینجا پیدا کنید.