در این قسمت آموزش API از مهاجرت Code first در EF استفاده میکنیم تا ساختمان داده را با دادههای آزمایشی Seed کنیم.
سایر مقالات آموزش API :
- آموزش APS.NET Web Api 2 با انتیتی فریم ورک ۶ (Entity Framework)
- افزودن مدل و کنترلرها – آموزش ASP.net Web API
- Seed کردن ساختمان داده – آموزش API
- روابط موجود در انتیتی – آموزش تصویری WEB API
- ساخت اشیاء انتقال داده یا DTOها
- ساخت اپلیکیشن سمت کاربر با فرمت Javascript
- ساخت رابط کاربری (UI)
از منوی Tools، گزینه Library Package Manager را انتخاب کنید، سپس Package Manager Console را انتخاب کنید. در پنجره Package Manager Console، دستور زیر را وارد کنید:
Enable-Migrations
این دستور پوشهای به نام migrations را به پروژه و فایل به نام Configuration.cs را به پوشه Migrations اضافه میکند.
آموزش API
فایل Configuration.cs را باز کنید. عبارت using زیر را اضافه کنید.
using BookService.Models;
سپس کد زیر را به متد Configuration.Seed اضافه کنید:
protected override void Seed(BookService.Models.BookServiceContext context) { context.Authors.AddOrUpdate(x => x.Id, new Author() { Id = 1, Name = "Jane Austen" }, new Author() { Id = 2, Name = "Charles Dickens" }, new Author() { Id = 3, Name = "Miguel de Cervantes" } ); context.Books.AddOrUpdate(x => x.Id, new Book() { Id = 1, Title = "Pride and Prejudice", Year = 1813, AuthorId = 1, Price = 9.99M, Genre = "Comedy of manners" }, new Book() { Id = 2, Title = "Northanger Abbey", Year = 1817, AuthorId = 1, Price = 12.95M, Genre = "Gothic parody" }, new Book() { Id = 3, Title = "David Copperfield", Year = 1850, AuthorId = 2, Price = 15, Genre = "Bildungsroman" }, new Book() { Id = 4, Title = "Don Quixote", Year = 1617, AuthorId = 3, Price = 8.95M, Genre = "Picaresque" } ); }
در پنجره Package Manager Console، کامند زیر را تایپ کنید:
Add-Migration Initial Update-Database
کامند اول کدی که ساختمان داده میسازد را تولید میکند. کامند دوم این کد را اجرا میکند. ساختمان داده با استفاده از LocalDB، به صورت local ساخته میشود.
آشنایی با API – آموزش API
F5 را فشار دهید تا حالت debug اجرا شود. ویژوال استدیو IIS Express را شروع کرده و اپلیکیشن تحت وب شما را اجرا میکند. پس از آن، Visual Studio مرورگر را باز کرده و به صفحه home page میرود.
وقتی Visual Studio پروژه تحت وب را اجرا میکند، یک شماره پورت به آن اختصاص میدهد. در تصویر زیر، شماره پورت ۵۰۵۲۴ است. وقتی شما اپلیکیشنتان را اجرا میکنید، شماره پورت متفاوتی را میبینید.
Home Page با استفاده از Asp.Net MVC اجرا میشود. در بالای صفحه، لینکی به نام API وجود دارد. این لینک شما را به یک صفحه help اتوماتیک برای Web API میبرد.
به منظور دیدن جزئیات مربوط به API، مثل فرمتهای درخواست و پاسخ، میتوانید بر روی لینکهای موجود در صفحه help کلیک کنید.
API عملیات CRUD را برای پایگاه داده ایجاد می کند . در زیر میتوانید خلاصهی کارهایی که این API انجام می دهد را ببینید.
Authors | |
---|---|
GET api/authors | دریافت تمامی نویسندگان |
GET api/authors/{id} | یافتن نویسنده با ID |
POST /api/authors | ایجاد نویسنده جدید |
PUT /api/authors/{id} | به روز رسانی نویسنده |
DELETE /api/authors/{id} | حذف نویسنده |
Books | |
---|---|
GET /api/books | دریافت تمامی کتاب ها |
GET /api/books/{id} | یافتن کتاب با ID |
POST /api/books | ساخت کتاب جدید |
PUT /api/books/{id} | به روز رسانی کتاب |
DELETE /api/books/{id} | حذف کتاب |
بررسی پایگاه داده آموزش API
وقتی دستور Uptade- Database را اجرا کردید، EF پایگاه داده را می سازد و همچنین متد Seed را فراخوانی می کند . وقتی اپلیکیشن را به صورت محلی اجرا میکنید، EF از localDB استفاده میکند. میتوانید پایگاه داده را در Visual Studio مشاهده کنید. از منوی View، SQL Server Object Explorer را انتخاب کنید.
در پنجره connect to server و در قسمت Server Name، نوشته موجود را اصلاح کنید و “(localdb)\v11.0” را تایپ نمایید. گزینه Authentication را در حالت “Windows Authentication” قرار دهید. بر روی دکمه Connect کلیک کنید.
Visual Studio به LocalDB متصل شده و به شماپایگاه داده موجود را در پنجره SQL Server Object Explorer نشان میدهد. میتوانید هر بخش را باز کنید تا زیرشاخههای ساخته شده توسط EF را مشاهده کنید.
برای مشاهده دادههای هر بخش، بر روی آن راست کلیک کرده و گزینه View Data را انتخاب کنید.
اسکرین شات مقابل نشان دهنده اطلاعات جدول Books هستند. در نظر داشته باشبد که EF پایگاه داده را با دادههای Seed شده ساخته است و این بخش نیز در بر دارنده کلید خارجی برای جدول نویسندگان است.
لینک های مرتبط با آموزش API
دوره آموزشی #C و ASP.NET MVC +وبمستران
دوره آموزشی PHP و MYSQL +وبمستران