استفاده از Massive در ASP.NET Identity 2 به جای Entity Framework

پنجشنبه, 06 اردیبهشت 1397
ASP.NET ASP.NET Identity Dapper Entity Framework Massive ORM

احتمالا وقتی حرف از وصل شدن به دیتابیس به گوش می رسه خیلی ها زود به یاد Entity Framework میفتند. این روز ها دیگه کار کردن با ADO.NET که کتابخانه پایه دات نت برای کار با دیتابیسهاست خیلی رونق نداره. خیلیها هم شتید اصلا ندونن همچین چیزی وجود نداره.

به هر حال استفاده از ORM ها این روزها اینقدر باب شده که بعضی تازه کارها شاید اصلا ندونند که گزینه ها دیگری هم وجود داره و حتی در حوزه دات نت بجز Entity Framework که محصول مایکروسافت هست ORM های دگیری هم موجود هست.

حالا اینجا نمیخواهم بجث این که کدوم بهتره یا بدتره رو بکنم ولی یکی از ORM های غیر Massive هست. تا به حال توی هیچ پروژه ای ازش استفاده نکردم و چند وقت پیش تصمیم گرفتن یه تستس بزنم و توی یکی از پروژه های شخصی خودم ازش استفاده بکنم. فلسفه جالبی داره که میگنه اگه میخواهی با من کار کنی باید همه چیز رو از جنس dynmaic ببنید. تمام متدهاش دیتاهای از جنس dynamic رو میگیرن و پس می دن ولی دیگه نیازی نیست برای هر Entity بری یک کلاس تعریف کنی. حالا این که این روش چه سود و زیانهایی داره رو کاری نداریم ولی به هر حال من خواستم یکبار امتحانش کنم.

مشکلی که خوردم این بود که می خواستم در یک پروژه ASP.NET MVC ازش استفاده کنم و نیازی به کتابخانه Identity هم داشتم برای مدیریت کاربران. اما چیزهایی که به صورت پیش فرض توسط مایکروسافت ارایه میشه برای کار با Entity Framework هست. البته خوشبختانه امکان سفارشی کردن Identity هست و خیلی هم سخت نیست. توی اینترنت گشتم تا ببینم کسی قبلا این کار رو انجام داده یا نه که جواب "یا نه" بود :) پس باید خودم دست به کار می شدم. خوشبختانه یک نفر این کار رو برای Dapper که یک ORM أیگه هست انجام داده بود (اسم پروژه AspNet.Identity.Dapper هست).

این پروژه رو پایه قرار دادم که در نهایت به اونچه کی خواستم رسیدم. سورس رو هم روی گیت هاب گذاشتم. میتونید بگیریدش و امتحان کنید ببینید چه جوری کار می کنه. اسمش رو هم گذاشتم AspNet.Identity.Massive.

لینکها:

Top