افزودن مدل و کنترلرها – آموزش ASP.net Web API

در این قسمت از آموزش ASP.NET Web Api قصد داریم با استفاده از روش Code first در انتیتی فریم ورک (EF)، ساختمان داده بسازیم. با روش Code First شما کلاس‌هایی در C# می‌نویسید که با جداول ساختمان داده تناظر یک به یک دارند و بعد EF ساختمان داده را می‌سازد.

سایر پست های آموزش ASP.net Web API

در این آموزش به ویژگی‌های دامنه POCO (plain-old CLR objects)می‌گوییم. و  POCOهای زیر را می‌سازیم:

  • نویسنده (Author)
  • کتاب (Book)

در Solution Explorer، بر روی پوشه Models راست کلیک کنید. Add را انتخاب کرده و سپس بر روی Class کلیک کنید. نام Class را Author بگذارید.

آموزش asp.net web api

کل کد در Author.cs را با کد زیر جایگزین کنید.

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace BookService.Models
{
    public class Author
    {
        public int Id { get; set; }
        [Required]
        public string Name { get; set; }
    }
}

کلاس دیگری با نام Book را با کد زیر جایگزین کنید.

using System.ComponentModel.DataAnnotations;

namespace BookService.Models
{
    public class Book
    {
        public int Id { get; set; }
        [Required]
        public string Title { get; set; }
        public int Year { get; set; }
        public decimal Price { get; set; }
        public string Genre { get; set; }

        // Foreign Key
        public int AuthorId { get; set; }
        // Navigation property
        public Author Author { get; set; }
    }
}

انتیتی فریم ورک از این مدل‌ها برای ساخت جداول پایگاه داده استفاده می‌کند. برای هر مدل، ستون کلیدی اولیه در جدول ساختمان داده Id خواهد بود.

در کلاس Book،عبارت AuthorId کلید خارجی در جدول Author  تعریف می‌کند. (برای ساده سازی، تصور می‌کنم هر کتاب یک نویسنده جداگانه دارد.) کلاس Book شامل بخش های navigation برای هر Author مجزا نیز می‌شود. می‌توانید از قسمت navigation برای دسترسی به Author در کد استفاده کنید. در بخش چهارم با عنوان مدیریت رابطه های انتیتی، توضیحات بیشتری درباره قسمت‌های navigation می‌دهم.

افزودن کنترلرهای Web API

در این بخش، کنترلرهای Web API که از عملیات  CRUD (ساختن، خواندن، به روز رسانی و حذف) پشتیبانی می‌کنند را اضافه می‌کنیم. این کنترلرها از انتیتی فریم ورک برای برقراری ارتباط با لایه ساختمان داده استفاده می‌کند.

در ابتدا می‌توانید فایل Controllers/ValuesController.cs را پاک کنید. این فایل شامل نمونه‌ای از کنترلر Web API است اما شما در آموزش به این فایل نیازی ندارید.

آموزش web api 2

سپس، پروژه را بسازید. ساختار Web API با استفاده از انعکاس (reflection) میتواند کلاس‌های مدل را پیدا کند، بنابراین به Compiled assembly نیاز دارد.

در Solution Explorer، بر روی پوشه Controllers راست کلیک کنید. Add را انتخاب کنید و سپس Controller را انتخاب کنید.

دانلود کتاب آموزش web api

در پنجره Add Scaffold، گزینه “Web API 2 Controller with actions, using Entity Framework” را انتخاب کرده و بعد روی Add کلیک کنید.

کتاب آموزش web api

آموزش ASP.Net Web Api

در پنجره Add Controller، مراحل زیر را انجام دهید:

  1. در لیست موجود در Model class، کلاس Author را انتخاب کنید. (اگر لیست را مشاهده نمیکنید، مطمئن شوید پروژه را ساخته اید.)
  2. “Use async controller actions” را تیک بزنید.
  3. نام کنترلر را “AuthorsController” بگذارید.
  4. بر روی دکمه (+) در کنار Data Context Class کلیک کنید.

کتاب web api

در پنجره New Data Context، نام را به همان صورتی که هست بگذارید بماند و بر روی Add کلیک کنید.

web api

دوره های طراحی سایت در مشهد

بر روی گزینه Add کلیک کنید تا پنجره Add Controller تکمیل و بسته شود. این پنجره دو کلاس به پروژه شما اضافه می‌کند:

  • AuthorsControllerکنترلر Web API را معرفی میکند. این کنترلر REST API را پیاده می‌کند. سمت کاربر از REST API برای اجرای عملیات CRUD بر روی لیست نویسندگان استفاده می‌کند.
  • BookServiceContext اشیاء موجود در انتیتی را در مدت زمان اجرا مدیریت میکند. این مدیریت شامل Populate کردن اشیاء با داده های ساختمان داده، تغییر tracking و ماندگار کردن داده‌ها در ساختمان داده است. این کار را با ارث بری از DbContext انجام میدهد.

کلاس های آموزش طراحی سایت در مشهد

در این قسمت از آموزش ASP.NET Web API پروژه را دوباره سازی کنید ( Build ) . حال مراحل مشابهی را انجام دهید تا کنترلر API را برای انتیتی‌های Book اضافه کنید. سپس  را برای کلاس مدل انتخاب کنید و کلاس BookServiceContext را برای کلاس data context نیز انتخاب کنید. (data context جدیدی نسازید). بر روی Add کلیک کنید تا کنترلر اضافه شود.

کلاس آموزش طراحی وب سایت در مشهد

 آموزش ASP.NET Web API

ورکشاپ رایگان دوره های تخصصی برنامه نویسی

شما این فرصت را دارید، با تکمیل فرم زیر، قبل از انتخاب دوره آموزشی مناسب خود، در ورکشاپ رایگان دوره های تخصصی برنامه نویسی شرکت کنید
  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .

درباره‌ی برنامه نویسان

همچنین ببینید

ASPCore

آموزش ASP.NET Core MVC و ویژوال استودیو

در این سری آموزش ها به نحوه ساخت یک پروژه در ASP.NET Core MVC 2 …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *