Điều kiện cần
- Hiểu về mô hình thiết kế lớp logic (3 layer)
- Hiểu về ORM
- Đã làm việc với nền tảng .NET Core (3 trở về trước) hoặc .NET 5 trở về sau
Giải pháp (Solution) và Dự án (Project) trong .NET
Giải pháp (solution) là một vùng chứa được sử dụng để tổ chức một hoặc nhiều dự án mã nguồn liên quan, ví dụ: một dự án thư viện lớp (class library) và một dự án thử nghiệm tương ứng. Chúng ta sẽ xem xét các thuộc tính của một dự án và một số tệp mà nó có thể chứa. Chúng tôi cũng sẽ tạo một tham chiếu từ dự án này sang dự án khác.
Chúng ta sẽ xây dựng một giải pháp và dự án từ đầu để hiểu khái niệm về một dự án. Trong việc sử dụng Visual Studio Code nói chung, chúng ta có thể sẽ sử dụng một số mẫu dự án khác nhau mà Visual Studio Code cung cấp khi bạn tạo một dự án mới.
Các giải pháp và dự án không bắt buộc để phát triển ứng dụng trong Visual Studio Code. Bạn cũng có thể chỉ cần mở một thư mục chứa mã và bắt đầu viết mã, xây dựng và gỡ lỗi. Ví dụ: nếu bạn sao chép repo GitHub, nó có thể không chứa các giải pháp và dự án .NET. Để biết thêm thông tin, hãy xem phần Phát triển mã trong Visual Studio không có dự án hoặc giải pháp.
Tạo Giải pháp (Solution) sử dụng lệnh dotnet
Tạo Giải pháp (solution) cho toàn bộ các dự án
mkdir OMS
cd ./OMS
dotnet new sln -n OMS
Tạo dự án tầng Persistance
dotnet new classlib -o Persistance
Thêm dự án vào Solution oms
dotnet sln oms.sln add ./Persistance/Persistance
Tạo dự án cho tầng DAL
Tạo dự án DAL dành cho tầng Data Access Layer
dotnet new classlib -o DAL
Thêm dự án vào Solution oms
dotnet sln oms.sln add ./DAL/DAL.csproj
Thêm tham chiếu dự án Persistence vào trong dự án BL
cd ./DAL
dotnet add reference ../Persistence/Persistence.csproj
Thêm gói MySql.Data từ gói nuget (chú ý phiên bản cài đặt MySql hiện tại là 8.0.23)
dotnet add package MySql.Data —-version 8.0.23
Tạo dự án cho tầng BL
cd ../
dotnet new classlib -o BL
Thêm dự án vào Solution oms
dotnet sln oms.sln add ./BL/BL.csproj
Thêm tham chiếu dự án Persistence vào trong dự án BL
cd ./BL
dotnet add reference ../Persistence/Persistence.csproj
Thêm tham chiếu dự án DAL vào dự án BL
dotnet add reference ../DAL/DAL.csproj
Tạo dự án cho tầng PL: ConsolePL (Nếu tầng biểu diễn dữ liệu là ứng dụng Console)
Tạo dự án ConsolePL
cd ../
dotnet new console -o ConsolePL
Thêm dự án vào Solution oms
dotnet sln oms.sln add ./ConsolePL/ConsolePL.csproj
Thêm tham chiếu dự án Persistence vào trong dự án ConsolePL
cd ./ConsolePL
dotnet add reference ../Persistence/Persistence.csproj
Thêm tham chiếu dự án BL vào dự án ConsolePL
dotnet add reference ../BL/BL.csproj
Chạy dự án
dotnet run --project ConsolePL
Tạo dự án cho tầng PL: WebPL (Nếu tầng biểu diễn dữ liệu là Web)
cd ../
dotnet new web -o WebPL
Thêm dự án WebPL vào trong Solution oms:
dotnet sln osm.sln add ./WebPL/WebPL.csproj
Thêm tham chiếu dự án Persistence vào trong dự án WebPL
cd ./WebPL
dotnet add reference ../Persistence/Persistence.csproj
Thêm dự án BL vào trong dự án WebPL
dotnet add reference ../BL/BL.csproj
Tài liệu tham khảo
- https://docs.microsoft.com/en-us/visualstudio/get-started/tutorial-projects-solutions?view=vs-2019
- https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-sln
- https://docs.microsoft.com/en-us/visualstudio/ide/creating-solutions-and-projects?view=vs-2019
- https://dev.mysql.com/doc/connector-net/en/connector-net-introduction.html
- https://github.com/sinhdev/three-layer-c-shap-mysql