تکنیک Code First با Entity faramework 6 در Web API (بخش اول)

شنبه 19 دی 1394

ASP.net Web API یک فریم ورک برای ایجاد سرویسهای HTTP برای در دسترس بودن یک مرورگر ، موبایل و مشتریان دیگر است. یک پلت فرم ایده آل برای ایجاد برنامه های RESTful است. در این مقاله نحوه ایجاد یک برنامه RESTful را با استفاده از ASP.NET Web API همراه با فریم ورک Entity بررسی خواهیم کرد.

تکنیک  Code First با Entity faramework 6 در Web API (بخش اول)

ASP.net Web API یک فریم ورک برای ایجاد  سرویسهای HTTP  برای در دسترس بودن یک مرورگر ، موبایل و مشتریان دیگر است. یک پلت فرم ایده آل برای ایجاد برنامه های  RESTful است. در این مقاله نحوه ایجاد یک برنامه  RESTful  را با استفاده از  ASP.NET Web API همراه با فریم ورک  Entity  بررسی خواهیم کرد.

یک برنامه خالی  Web API به صورت زیر ایجاد کنید.

در  Solution explorer  بر روی  Model راست کلیک کرده و کلاسی با نام Department  اضافه کنید و کدهای زیر را در آن قرار دهید .

    public class Department  
    {  
        [Required]  
        public int DepartmentID { get; set; }  
        [Required]  
        public string DepartmentName { get; set; }  
     
    }  

کلاس دیگری را نیز با نام  Employee ایجاد کنید و کدهای زیر را در آن قرار دهید.

    public class Employees  
    {  
         [Required]  
         public int EmployeeID { get; set; }  
      
         [Required]  
         public string FirstName { get; set; }  
           
         public string LastName { get; set; }  
      
      
         public int DepartmentID { get; set; } //Foreign Key  
         public Department Department { get; set; } //Navigation Property  
      
    }  

 

 Entity framework  بر اساس این مدل ها ، جداول دیتابیس را طراحی میکند.

    DepartmentID  کلید خارجی به جدول Department  است.

کلاس Employee  شامل یک ویژگی navigation به جدول  department مربوط است.

 اکنون زمان اضافه کردن کنترلرهای Web API است . کنترلری را ایجاد میکنیم که قابلیت پشتیبانی از عملیات CRUD را دارد.

Model Class را اضافه کنید :

 

برای Data Context  بر روی + کلیک کنید سپس کلاس  DepatmentContext  را اضافه کنید.

 

و  تیک  Use async controller action  را بزنید.

 همین کار را برای کنترلر Employees نیز انجام دهید.

کدهای تولید شده در کلاس  DepartmentContext  به صورت زیر می باشد :

    public class DepartmentContext : DbContext  
    {  
           
        public DepartmentContext() : base("name=DepartmentContext")  
        {  
               
             
    }  
      
        public System.Data.Entity.DbSet<MyWebAPI.Models.Department> Departments { get; set; }  
      
        public System.Data.Entity.DbSet<MyWebAPI.Models.Employees> Employees { get; set; }  
    }  

  برای ایجاد دیتابیس به  Pakage Manager console  رفته و دستورات زیر را به ترتیب در آن وارد کنید.

Enable-migrations  .1

این دستور فایلی را با نام migration ایجاد خواهد کرد که در آن یک فایل با نام  Configuration.cs قرار دارد.

 

 Add-Migration Initial  .2

یک دیتابیس ایجاد میکند.

Web.config  خود را چک کنید و از رشته اتصال  SQL  اطمینان یابید .

  Configuration.cs  را باز کرده و کدهای زیر را در متد  seed  وارد کنید.

  
 context.Departments.AddOrUpdate(new Department { DepartmentID = 1, DepartmentName = "Infrastructure" },
           new Department { DepartmentID = 2, DepartmentName = "HR" });

            context.Employees.AddOrUpdate(new Employees { EmployeeID = 1, FirstName = "maryam", LastName = "nami", DepartmentID = 1 },
               new Employees { EmployeeID = 2, FirstName = "zahra", LastName = "ahmadi", DepartmentID = 1 },
               new Employees { EmployeeID = 3, FirstName = "sara", LastName = "ahmadi", DepartmentID = 2 });   

Update-Database .3 

 

متد  Seed  را اجرا خواهد کرد.

 

 

 

دیتابیسی را که ایجاد شد چک کنید.

 

جدول Department  به صورت زیر است .

و جدول  Employees  به صورت زیر :

اکنون API ما حاضر است.

Departments API به صورت زیر می باشد:

GET   : دریافت رکورد های Department 

 

دریافت رکوردهای  Department بر اساس  ID

 

Post   : اضافه کردن رکورد جدیدبا استفاده از این  API :

Put  : آپدیت داده های   department بر اساس  id   :


نتیجه آپدیت به صورت زیر است:

DELETE   : حذف رکوردهای جدول  Department  با استفاده از API

 هنوز چیزهای زیادی برای بحث باقی مانده است  که در مقاله بعد و بخش دوم درباره رسیدگی به موجودیت های مربوط و مسیر یابی درASP.net WEB API  صحبت خواهیم کرد.

فایل های ضمیمه

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

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید