به نام خداوند بخشنده مهربان.

از یکی از قوی ترین فریمورک های برنامه نویسی بک‌اند و سریعترین آنها میتوان به فریمورک dot net core اشاره کرد.

برای استفاده از dotnet میتوانید آن را از سایت ماکروسافت دانلود کنید و از  یکی از سه برنامه ی Visual Studio یا Visual Studio Code و یا Rider (محصول اینتلیجی) برای توسعه Api خود بهره مند شوید.

بریم سر اصل ماجرا

یه پروژه با Web App Api بسازید.

داستان اینجوری شروع میشه که شما نیاز به دیتابیس دارید و علاوه بر اون برای استفاده از api توسط سایر توسعه دهندگان باید کنترلر هایی رو بسازید تا اونا بتونن از api شما استفاده کنن.

مدل برنامه خودتون رو بنویسید مثلا اگر یک اپلیکیشن نمایش سوپر مارکت ها و محصولات اون رو دارید توسعه میدید باید مدل های Shop و Product و User رو بسازید

توی مدلهاتون نگران هیچی نباشید یعنی اگر توی Shop به لیست Product نیاز دارید ازش یک آرایه بسازید و توی Shop قرار بدید.

توی این آموزش از دیتابیس PostgreSQL استفاده میکنیم که درایور این دیتابیس توی dotnet core اسمش npgSQL هست.

توی گوگل سرچ کنید به این نتیجه میرسید که باید پکیج زیر رو نصب کنید.

Npgsql.EntityFrameworkCore.PostgreSQL

بعد از اضافه کردن این وابستگی لطفا وارد این سایت بشید و دو مرحله Defining a DbContext و همچنین Additional configuration for ASP.NET Core applications را انجام دهید

حالا میتونید از دیتابیس توی کنترلر هاتون استفاده کنید (با استفاده از DI Constractor) به این شکل که اون توی تابع سازنده کنترلرتون یه پارامتری به اسم context و نوع این DbContextی که ساختید اضافه کنید و اون پارامتر رو از سازنده بگیرید و توی یه متغییر سراسری داخل کلاس بریزید تا توی همه توابع بهش دسترسی داشته باشید.

حالا برای اینکه بتونید Table ها رو همونجوری که مدل هاتون رو ساختید بسازید (یعنی بخواید اتوماتیک طبق اونا تیبل ساخته بشه) باید از Migration EF Core استفاده کنید.

برای اینکار اول پکیج زیر رو نصب کنید اگه نصب نکردید

microsoft.entityframeworkcore.design

و حالا با دستور زیر یه سری کلاس ها رو بسازید تا کار ساختن دیتابیس رو انجام بدن

dotnet ef migrations add MyFirstMigration

و بعد از اون هم دستور زیر رو اجرا کنید.

dotnet ef database update

در صورتی هم که قصد پاک کردن این فایل ها رو دارید و دیگه براتون کاربردی نداره یا اینکه مدل هاتون تغییر کرده میتونید از مدل زیر برای حذف فایل های ساخته شده استفاده کنید

 dotnet ef migrations remove

 

احراز هویت:

یکی از شیوه های احراز هویت استفاده از توکن ها هستند که در میان آنها JWT یکی از معروف ترین آن هاست.

شیوه کار این توکن رو انشالله توی پست های دیگه توضیح میدم.

برای پیاده سازی این نوع از احراز هویت با استفاده از این سایت میتوانید پیاده سازی را انجام دهید.

دقت کنید که برای استفاده از آن باید پکیج زیر را نصب کنید:

microsoft.aspnetcore.authentication.jwtbearer

 

در پست های بعدی مطالب مفیدی مثل:

۰- EF چیست؟

۱. برای تغییر داده ها و نشان ندادن برخی پراپرتی های دریافتی از دیتابیس چه کاری انجام دهیم؟ (مفهوم پیاده سازی DTO و استفاده از وابستگی AutoMapper)

۲. ADO چیست؟ (npgSQL یک ADO است)

۳. DI و Built in بودن تزریق وابستگی در dotnet core 

۴. ویژگی های دیتابیس پست گرس و قابلیت ذخیره جیسون آبجکت و جیسون آرایه در Column های آن

 

با من همراه باشید

یاعلی