معرفی
در این پست با ایجاد، ویرایش و حذف API با استفاده از Entity Framework core آشنا خواهیم شد. پست های زیر به درک اصول اولیه Entity Framework هسته و ساختار برنامه کمک می کند.
مرحله 1
تمام مراحل اولیه در پست های بالا توضیح داده شده است. ابتدا روش های زیر را در فایل "IEmployeeRepository.cs" اضافه می کنیم.
- void AddEmployeeAddress(int employeeId, Address address);
- bool SaveDbChanges();
گام 2
این 2 روش را در "EmployeeRepository.cs" پیاده سازی کنید.
- public void AddEmployeeAddress(int employeeId, Address address)
- {
- var employee = GetEmployee(employeeId);
- employee.EmployeeAddress.Add(address);
- }
- public bool SaveDbChanges()
- {
- return (_context.SaveChanges() >= 0);
- }
مرحله 3
اکنون متد "CreateAddress" را در "AddressController" ایجاد و پیاده سازی می کنیم.
- در خط 01، ویژگی «HttpPost» را برای افزودن موجودیت «آدرس» اضافه کردهایم.
- خط 08، ما نگاشت ورودی را به نهادهای «آدرس» انجام دادیم.
- خط 09،10، ما از روش "AddEmployeeAddress" و "SaveDbChanges" استفاده کرده ایم که در "EmployeeRepository.cs" ایجاد کرده ایم.
- خط 11، ما نهادهای «آدرس» را نگاشت به «آدرس» مدل DTO انجام دادیم.
- خط 12-15، به طور کلی می توانیم داده های ایجاد شده (آدرس) را برگردانیم تا در نتیجه API نمایش داده شود.
- [HttpPost]
- public IActionResult CreateAddress(int employeeId, [FromBody] AddressModel address)
- {
- if (!_employeeRepository.IsEmployeeAvailable(employeeId))
- {
- return NotFound();
- }
- var addressData = _mapper.Map
(address); - _employeeRepository.AddEmployeeAddress(employeeId, addressData);
- _employeeRepository.SaveDbChanges();
- var addressToReturn = _mapper.Map(addressData);
- return CreatedAtRoute(
- "GetEmployeeAddress",
- new { employeeId, Id = addressToReturn.Id },
- addressToReturn);
- }
مرحله 4