شماره تماس 09336863931 | 09178169907 پست الکترونیک provid.ir@gmail.com

استفاده صحیح از DbContext و فراخوانی متد Dispose در EF #1

استفاده صحیح از DbContext و فراخوانی متد Dispose در EF #1 را در این قسمت از وبسایت آموزش برنامه نویسی پرووید دانلود کنید.

استفاده صحیح از DbContext و فراخوانی متد Dispose در EF #1

در این آموزش از وب سایت پرووید در رابطه با کار کردن با شی DbContext و به طور خاص مبحث Connection ها صحبت می کنیم.

در رابطه با کار کردن با شی DbContext دو روش کلی برای ساختن این شی وجود دارد. در روش اول شما زمانی که یک شی از کلاس اصلی ‌تان ساخته می شود شی DbContext را هم می سازیدِ این کار می‌تواند از طریق تعریف یک فیلد Private در درون کلاس و Initialize کردن آن در تابع سازنده کلاستان انجام شود. تعریف شی به عنوان فیلد را در قسمت زیر می بینید.

Public Class Customer Repository
Dim db As New CustomerEntities

و در این قسمت Initialize کردن شی DbContext را در تابع سازنده کلاس مشاهده می کنید.

Public Class Customer Repository
Dim db As CustomerEntities

Public Sub New()
db = New CustomerEntities
End Sub

از این روش اغلب زمانی استفاده می شود که تمامی متد های درون یک کلاس از شی DbContext استفاده می‌کنند و این متدها به صورت مستقل از هم و در ترکیب های مختلفی از یکدیگر فراخوانی می‌شوند. دقت کنید که اگر در این روش فراموش کنید متعد Dispose را فراخوانی کنید طبیعتاً شی DbContext در حافظه باقی خواهد ماند.

روش دیگر استفاده از شی DbContext قرار دادن تعریف آن در یک بلاک Using است. اغلب از این روش زمانی استفاده می شود که کدهای مربوط به Entity Framework با بقیه فرآیندهای مربوط به Entity Framework یکپارچه شده‌اند. در استفاده از بلاک Using همیشه در پایان این بلاک به صورت خودکار متد Dispose فراخوانی می شود. در در واقع در استفاده از این روش حتی اگر متد Dispose را بصورت Explicit فراخوانی نکنید شی DbContext در پایان بلاک Using از حافظ خارج میشود.

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *