تکنیک Code First با Entity faramework 6 در Web API (بخش اول)
شنبه 19 دی 1394ASP.net Web API یک فریم ورک برای ایجاد سرویسهای HTTP برای در دسترس بودن یک مرورگر ، موبایل و مشتریان دیگر است. یک پلت فرم ایده آل برای ایجاد برنامه های RESTful است. در این مقاله نحوه ایجاد یک برنامه RESTful را با استفاده از ASP.NET Web API همراه با فریم ورک Entity بررسی خواهیم کرد.
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 صحبت خواهیم کرد.
- ASP.net
- 2k بازدید
- 8 تشکر