دوره آموزش جامع انتیتی فریم ورک Entity Framework آشنایی با روش Code First
626 بار بازدید -
3 سال پیش
-
در قسمت های قبلی گفته
در قسمت های قبلی گفته بودیم که انتیتی فریمورک Entity Framework سه روش برای ایجاد یک مدل ارائه می کنه و هر یک از این روشها از مزایا و معایب خاص خود برخوردارند:
1 - Database First
2 - Model First
3 - Code First
در این قسمت ، ما درباره روش کد فرست Code First صحبت خواهیم کرد. برخی از توسعه دهندگان ترجیح می دهند با دیزاینر انتیتی فریمورک کار کنند و از طریق روش مدل فرست یا دیتابیس فرست کار کنند در حالی که برخی دیگر ترجیح می دهند فقط با کد کار کنند. برای این دسته از توسعه دهندگان ، Entity Framework یک رویکرد و روش جدید معرفی کرده که به آن کد فرست Code First گفته می شود.
روش Code First یک پایگاه داده را درنظر خواهد گرفت که وجود ندارد و Code First آن پایگاه داده را را ایجاد خواهد کرد.
همچنین اگر پایگاه داده خالی داشته باشید می توانید از آن استفاده کنید ، سپس Code First جداول جدیدی را به آن اضافه می کند.
Code First به شما امکان می دهد مدل خود را با استفاده از کلاس های C # یا VB.Net تعریف کنید.
کانفیگوریشن های اضافی (تنظیمات موجود در پایگاه داده sql server) را می توان بصورت اختیاری با استفاده از اتریبیوت های موجود در کلاسها و پروپرتی ها یا با استفاده از یک fluent API انجام داد.
کارهایی که میخواهیم در این قسمت انجام بدیم به این صورت هست که ابتدا مدل مون رو به پروژه اضافه میکنیم و First Code رو انتخاب میکنیم و اسم مدل مون رو DataModel میگذاریم.قدم بعدی واسه تشریح بهتر کدها ما DataModel رو باز میکنیم تا ببینیم داخلش با چه روش و استایلی کد زدن ، داخلش از using انتیتی فریم ورک استفاده کرده ، بنابراین اگه بخواهیم ما هم از انتیتی فریمورک استفاده منیم باید از این using بهره ببریم ، یک کلاس هم به نام DataModel ایجاد کرده که درواقع همون کلاسی هست که هنگام اضافه کردن انتیتی به پروژه ما اسمش رو گذاشتیم DataModel که این کلاس از DbContext ارث بری میکنه .چیز دیگه ای که اضافه کرده اومده یه سازنده تعریف کرده که ورودی DataModel=Name رو پاس میده به کلاس DbContext فقط دقت کنید که این ورودی یعنی DataModel=Name دقیقا نام همون کانکشن استرینگی هست که تو فایل Config.App تعریف شده . مورد بعدی که تو مدل هست اومده یک virtual Public نوشته که باهاش آشنایی دارید از کامنت درش میاریم و یه ارور هم میده و میگه کلاسی که اسمش MyEntity هست وجود نداره به همین دلیل کلاسی که اسمش MyEntity هست رو از کامنت درش میاریم تا ارور که در موردش حرف زدیم برطرف شه . این کلاسی که از کامنت درش آوردیم اینجا به نام آخر کالس مورد نظر یک S اضافه کرده و جمع بسته یعنی MyEntities که در واقع همون جدول ما هست که فیلدهای Id و Name که در این کلاس هستند به این جدول دسترسی دارند و شما قبلتر در First DataBase و First Model باهاش آشنایی دارید.حاال ما میخوایم همین دیتابیسی که الان داریم رو با روش کد زدن یا همون First Code ایجاد کنیم ، نکته ای که هست اینکه اگر الان ما بخواهیم کدهای فعلی رو اجرا کنیم هیچ اتفاقی نمی افته مگر اینکه بیاییم از DataModel یک نمونه بسازیم و یکی از توابع اون رو Call یا فراخوانی کنیم که دیتابیس برامون ساخته بشه و در ادامه همین کار رو خواهیم کرد و به جزئیات بسیار بیشتری خواهیم پرداخت.
3 سال پیش
در تاریخ 1400/02/08 منتشر شده
است.
626
بـار بازدید شده