
ASP.NET Core یک چارچوب توسعه وب از مایکروسافت است و Entity Framework Core یک ORMاست که توسعه دهندگان را قادر می سازد تا با استفاده از .NET با پایگاه داده ها تعامل داشته باشند.
معماری Entity Framework Core (EF Core) به گونه ای طراحی شده است که یک چارچوب انعطاف پذیر و گسترده برای کار با پایگاه داده ها در برنامه های Asp net core فراهم می کند. این معماری از چندین مؤلفه کلیدی تشکیل شده است که دسترسی به داده ها و ORM را امکان پذیر می کند. در اینجا مروری بر مؤلفه های اصلی معماری EF Core آورده شده است:
DBContext
در EF Core ، شما با کلاس به نام DBContext کار می کنید که نشانگر یک session با پایگاه داده است و به عنوان پلی بین برنامه و پایگاه داده عمل می کند. DBContext شامل خواص DBSET برای هر entity است و شما از این خصوصیات برای تعامل با جداول پایگاه داده مربوطه استفاده می کنید.
کلاس های Entity (POCOS)
در Entity Framework Core از اشیاء POCO به عنوان مدل های داده استفاده می کند. این کلاس های POCO نمایانگر موجودیت های(جداول) پایگاه داده شما هستند که هر یک از ویژگی ها به یک ستون در جدول پایگاه داده می پردازند.
Migration در EF Core
EF Core از Migration های پایگاه داده پشتیبانی می کند ، که برای ایجاد ، به روزرسانی و حفظ schema پایگاه داده بر اساس تغییرات مدل داده شما استفاده می شود. Migration به شما امکان می دهد schema پایگاه داده و مدل داده برنامه خود را تکامل دهید.
LINQ (Language-Integrated Query)
EF Core شما را قادر می سازد ازدستورات LINQ درپایگاه داده استفاده کنید. این امر بازیابی ، فیلتر و دستکاری داده ها را در برنامه آسان می کند.
Database Provider ها در EF Core
EF Core از چندین ارائه دهنده پایگاه داده ، از جمله Microsoft SQL Server ، SQLITE ، PostgreSQL ، MySQL ، Azure Cosmos Database ، پایگاه داده اوراکل و ... پشتیبانی می کند. می توانید به راحتی بین این ارائه دهندگان جابجا شوید تا با پایگاه داده های مختلف کار کنید.
Change Tracking در EF Core
EF Core تغییرات ایجاد شده در اشیاء موجودیت خود را پیگیری می کند و به طور خودکار دستورهای SQLی مناسبی را برای ادامه این تغییرات در پایگاه داده هنگام اجرای متد SaveChanges ایجاد می کند.
Transaction ها در EF Core
EF Core ه شما امکان می دهد تا با Transaction کار کنید تا اطمینان حاصل شود که چندین عملیات پایگاه داده انجام می شود یا اصلا انجام نمی شود.
Database Seeding در EF Core
EF Core به شما امکان می دهد تا هنگام شروع برنامه ، داده های اولیه را با داده های seed بسازید.
تزریق وابستگی یا Dependency Injection
EF Core به گونه ای طراحی شده است که به صورت یکپارچه با تزریق وابستگی built-in در .Net Core کار کند. این امر به شما امکان می دهد نمونه DBContext را به سرویس ها و کنترلرهای برنامه خود تزریق کنید ، تست پذیری را بالا ببرید و coupling را کم کنید.
در EntityFramework Core ما با دو رویکرد می توانیم با دیتابیس ها تعامل داشته باشیم:
روش Code First(کد فرست)
روش کد فرست یا Code First تکنیکی است که به ما کمک می کند تا از طریق کد و مایگریشن یک دیتابیس را ایجاد و جداول آن را کانفیگ و نگهداری کنیم. در روش code first بصورت مستقیم دیتابیس و جداول مربوط به آن را از طریق کد دات نت نگهداری می کنیم.
روش DB First
در روش DB First کلاس های Context و موجودیت های دیتابیس از روی یک پایگاه داده موجود ایجاد می شود.
در این آموزش ، ما یک برنامه وب ASP.NET Core WebAPI ایجاد خواهیم کرد. سپس برای کار با پایگاه داده Microsoft SQL Server از رویکرد Entity Framework Core Database First (EF Core DB First) استفاده می کنیم.
در این آموزش روش استفاده از Database First در دات نت 9 را قدم به قدم آموزش خواهیم داد.
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید