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


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

تفاوت AsNoTracking و AsNoTrackingWithIdentityResolution


در Entity Framework هر زمان یک یا چند رکورد را از دیتاها را از دیتابیس میخوانیم, به طور پیشفرض توسط ChangeTracker ردیابی میشوند. و همین امر باعث میشود مقداری کاهش پرفرمنس داشته باشیم. اگر نخواهیم که Entity Framework این عملیات ردیابی موجودیت ها ....
ادامه مطلب

پیاده سازی WITH NOLOCK در دستورات EntityFramework


در SQL زمانی که رکوردها به صورت BULK INSERT ذخیره شوند و تعداد این رکوردها زیاد باشد SQL جدول مورد نظر را Lock میکند و تا زمانی که تمامی دیتاها وارد SQL نشوند نمیتوانید از آن جدول دیتاها را بخوانید (به صورت پیشفرض). اما در خود SQL میتوانید دیتاها ....
ادامه مطلب

برچسب گذاری دقیق query ها در Entity Framework Core


گاهی اوقات ممکن است کوئری هایی را در EF بنویسیم و دیتای زیادی را از دیتابیس فراخوانی کنیم و با بزرگ تر شدن پروژه احتمال این خطاها بیشتر میشود و تعداد کوئری ها نیز افزایش می یابد در نتیجه پیداکردن کوئری های سنگین سخت و یا غیرممکن میشود. اگر در SQL Profiler نیز ....
ادامه مطلب

ChangeTracker در Entity Framework


در Entity Framework زمانی که شما رکوردهایی را از دیتابیس میخوانید این رکوردها توسط ChangeTracker ردیابی میشوند. با استفاده از این قابلیت Entity Framework تمامی تغییرات بر روی موجودیت ها و پراپرتی ها را نگه میدارد. هر موجودیت در هر زمان دارای یکی از حالت های زیر است : ....
ادامه مطلب

خودکار سازی فرآیند ثبت جداول دیتابیس و پیکربندی کلاس ها


در Entity Framework هر زمان که بخواهیم یک جدول جدید اضافه کنیم باید یک پراپرتی از نوع DbSet به کلاس کانتکست اضافه کنیم تا با استفاده از آن به محتوای جدول مورد نظر دسترسی داشته باشیم. به عنوان مثال در کد زیر سه جدول Post,Tags,PostTags را به کلاس کانتکست اضافه کرده ایم ....
ادامه مطلب

پیاده سازی Identity در Asp.Net Core 2.1


آیدنتیتی یک سیستم کامل مدیریت کاربران است که توسط مایکروسافت ارائه شده است. با استفاده از آیدنتیتی کاربران میتوانند با ساخت یک اکانت جدید و یا با استفاده از اکانت های Google, FaceBook,LinkedIn و ... وارد سیستم شوند. در این مقاله به پیاده سازی آیدنتیتی میپردازیم. ....
ادامه مطلب

ایجاد بانک اطلاعاتی و جداول مربوطه


در Entity framework برای برقرای ارتباط با دیتابیس نیاز به یک کلاس داریم که ارتباط بین پروژه و پایگاه داده را برقرار کند. در این دوره ما از پایگاه داده SQL Server استفاده خواهیم کرد. کلاس مربوطه باید از کلاس DbContext ارث بری کند و نام کلاس با کلمه Context خاتمه یابد. ....
ادامه مطلب

معرفی EF Core


در این مقاله به بررسی Entity Framework و تاریخچه آن میپردازیم. Entity Framework و Entity Framework Core فریم ورک هایی هستند که امکان ارتباط با دیتابیس را مهیا میسازند. با استفاده از این فریم ورک ها شما میتوانید جداول ....
ادامه مطلب