آموزش برنامه نویسی در مشهد

Seed کردن ساختمان داده – آموزش API

در این قسمت آموزش API  از مهاجرت Code first در EF استفاده میکنیم تا ساختمان داده را با داده‌های آزمایشی Seed کنیم.

سایر مقالات آموزش API :

از منوی Tools، گزینه Library Package Manager را انتخاب کنید، سپس Package Manager Console را انتخاب کنید. در پنجره Package Manager Console، دستور زیر را وارد کنید:

Enable-Migrations

این دستور پوشه‌ای به نام migrations را به پروژه و فایل به نام Configuration.cs را به پوشه Migrations اضافه می‌کند.

آموزش API

آموزش 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 +وبمستران

خروج از نسخه موبایل