ASP.NET Web API sử dụng SQL Server

Trong bài viết này, tôi sẽ thảo luận về API Web ASP.NET bằng cơ sở dữ liệu SQL Server . Vì vậy, ở đây chúng tôi sẽ tạo Dịch vụ API Web sẽ thực hiện thao tác CRUD trên cơ sở dữ liệu SQL Server. Chúng tôi sẽ sử dụng dịch vụ này làm cơ sở để hiểu nhiều khái niệm API Web ASP.NET mà chúng tôi sẽ thảo luận trong các bài viết sắp tới của chúng tôi. 
Dịch vụ EmployeeService API Web mà chúng tôi sẽ xây dựng sẽ lấy dữ liệu từ bảng cơ sở dữ liệu nhân viên. Chúng tôi sẽ sử dụng Entity Framework để lấy dữ liệu từ cơ sở dữ liệu máy chủ SQL. Bạn có thể sử dụng bất kỳ công nghệ nào bạn chọn để lấy dữ liệu từ cơ sở dữ liệu. Ví dụ: bạn thậm chí có thể sử dụng ADO.NET thô. 
Tạo cơ sở dữ liệu cần thiết: 
Chúng tôi sẽ sử dụng bảng Nhân viên sau trong bản demo này để hiểu cách tạo dịch vụ API Web bằng cơ sở dữ liệu SQL Server.
API WEB với SQL Server
Vui lòng sử dụng Tập lệnh SQL sau để tạo và điền vào bảng Nhân viên với một số dữ liệu thử nghiệm. Tập lệnh SQL dưới đây
  1. Tạo cơ sở dữ liệu có tên WEBAPI_DB
  2. Sau đó tạo bảng Employees và chèn vào đó một chút dữ liệu để ta test dễ dàng hơn. 
  • CREATE DATABASE WEBAPI_DB
  • GO
  • USE WEBAPI_DB
  • GO
  • CREATE TABLE Employees
  • (
  • ID int primary key identity,
  • FirstName nvarchar(50),
  • LastName nvarchar(50),
  • Gender nvarchar(50),
  • Salary int
  • )
  • GO
  • INSERT INTO Employees VALUES ('Pranaya', 'Rout', 'Male', 60000)
  • INSERT INTO Employees VALUES ('Anurag', 'Mohanty', 'Male', 45000)
  • INSERT INTO Employees VALUES ('Preety', 'Tiwari', 'Female', 45000)
  • INSERT INTO Employees VALUES ('Sambit', 'Mohanty', 'Male', 70000)
  • INSERT INTO Employees VALUES ('Shushanta', 'Jena', 'Male', 45000)
  • INSERT INTO Employees VALUES ('Priyanka', 'Dewangan', 'Female', 30000)
  • INSERT INTO Employees VALUES ('Sandeep', 'Kiran', 'Male', 45000)
  • INSERT INTO Employees VALUES('Shudhansshu', 'Nayak', 'Male', 30000)
  • INSERT INTO Employees VALUES ('Hina', 'Sharma', 'Female', 35000)
  • INSERT INTO Employees VALUES ('Preetiranjan', 'Sahoo', 'Male', 80000)
  • GO
Tạo một dự án API Web ASP.NET mới
Mở Visual Studio và chọn File - New - Project như hình bên dưới
ASP.NET Web API sử dụng SQL Server - Tạo dự án api web asp.net mới
Từ cửa sổ của New New Project,  chọn Chọn Visual # trong mục Installed – TemplatesMột lần nữa  từ khung giữa, bạn cần chọn ASP.NET Web Application và là dự án với tên là EmployeeService . Cuối cùng, nhấp vào nút OK như trong hình bên dưới.
API Web ASP.NET sử dụng SQL Server - Chọn dự án
Khi bạn nhấp vào nút OK . Một cửa sổ hộp thoại mới sẽ mở ra với Tên New ASP.NET Project để chọn Mẫu dự án theo yêu cầu của bạn.
API Web ASP.NET sử dụng SQL Server
Trong hộp thoại này, chúng tôi sẽ chọn mẫu dự án WEB API và nhấp vào nút OK. Tại thời điểm này, bạn nên tạo dự án API Web với cấu trúc sau.
API Web ASP.NET sử dụng SQL Server
Thêm mô hình dữ liệu thực thể ADO.NET (ADO.NET Entity Data Model) để lấy dữ liệu từ cơ sở dữ liệu
Nhấp chuột phải vào thư mục Models và sau đó chọn Add - New Item và từ  các “ Add New Item ” cửa sổ chọn Data” từ khung bên trái và sau đó là chọn ADO.NET Entity Data Model từ phần panel ở giữa
Trong hộp văn bản Tên, nhập EmployeeDataModel và bấm vào nút Add  như trong hình dưới đây.
API WEB với SQL Server
Trên Trình hướng dẫn mô hình dữ liệu thực thể, chọn Tùy chọn EF Designer from database tùy chọn và bấm Next 
API WEB với SQL Server
Trên màn hình tiếp theo, nhấp vào nút New Connection như hình ảnh bên dưới
API Web ASP.NET sử dụng SQL Server - Tạo kết nối mới
Khi bạn nhấp vào nút New Connection, nó sẽ mở cửa sổ  Connection Properties .
Trên cửa sổ  Connection Properties , cửa sổ, đặt
  1. Server Name = Tên máy chủ
  2. Authentication = Chọn loại xác thực
  3. Chọn hoặc nhập tên cơ sở dữ liệu = WEBAPI_DB
    Cuối cùng, bấm vào nút OK như hình dưới đây.
API WEB với SQL Server
Khi bạn nhấp vào nút OK, nó sẽ điều hướng trở lại trình hướng dẫn Choose Your Data Connection wizard. Ở đây Sửa đổi Chuỗi kết nối là EmployeeDBContext và nhấp vào nút Next như trong hình bên dưới.
API WEB với SQL Server
Trên màn hình tiếp theo, chọn Entity Framework 6.x như trong hình bên dưới. Bước này có thể là tùy chọn nếu bạn đang sử dụng phiên bản cao hơn của studio hình ảnh.
API WEB với SQL Server
Trên màn hình Chọn đối tượng và cài đặt cơ sở dữ liệu của bạn, chọn bảng Nhân viên của cơ sở dữ liệu , cung cấp tên không gian tên mô hình và nhấp vào nút Kết thúc như hiển thị bên dưới. 
API WEB với SQL Server
Khi bạn nhấp vào nút Kết thúc, tệp edmx sau sẽ tạo.
API WEB với SQL Server
Tệp edmx được tạo trong thư mục Mô hình như bên dưới.
API WEB với SQL Server
Thêm Trình điều khiển API Web (Web API Controller)
1. Nhấp chuột phải vào thư mục Controllers trong dự án EmployeeService và chọn Add – Controller
2. Sau đó, bạn cần chọn Web API 2 Controller – Empty và sau đó nhấp vào nút Add Hay như trong hình bên dưới.
chọn bộ điều khiển api web
Trên bộ màn hình tiếp theo, Controller Name  là EmployeesController và bấm vào nút Add như trong hình dưới đây.
Đặt tên Trình điều khiển API Web
Sao chép và dán đoạn mã sau vào EmployeesController.cs
  • namespace EmployeeService.Controllers
  • {
  • public class EmployeesController : ApiController
  • {
  • public IEnumerable<Employee> Get()
  • {
  • using (EmployeeDBContext dbContext = new EmployeeDBContext())
  • {
  • return dbContext.Employees.ToList();
  • }
  • }
  • public Employee Get(int id)
  • {
  • using (EmployeeDBContext dbContext = new EmployeeDBContext())
  • {
  • return dbContext.Employees.FirstOrDefault(e => e.ID == id);
  • }
  • }
  • }
  • }
Vui lòng nhập không gian tên dưới đây.
using EmployeeService.Models;
Tại thời điểm này khi chúng tôi điều hướng đến  /api/employees,  chúng tôi sẽ thấy tất cả nhân viên và khi chúng tôi điều hướng đến  /api/employees/1 ,  chúng tôi sẽ thấy tất cả các chi tiết của nhân viên có Id = 1
Trong bài viết tiếp theo, tôi sẽ thảo luận về  Content Negotiation in Web API (Đàm phán nội dung trong API Web)  với một ví dụ. Ở đây, trong bài viết này, tôi cố gắng giải thích API Web ASP.NET bằng SQL Server từng bước với một ví dụ. Tôi hy vọng bài viết này sẽ giúp bạn với nhu cầu của bạn. Tôi muốn có phản hồi của bạn. Xin vui lòng gửi phản hồi, câu hỏi hoặc ý kiến ​​của bạn về bài viết này.
CodeLean.vn

Post a Comment

Mới hơn Cũ hơn