Đ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 OMSTạo dự án tầng Persistance
dotnet new classlib -o PersistanceThêm dự án vào Solution oms
dotnet sln oms.sln add ./Persistance/PersistanceTạo dự án cho tầng DAL
Tạo dự án DAL dành cho tầng Data Access Layer
dotnet new classlib -o DALThêm dự án vào Solution oms
dotnet sln oms.sln add ./DAL/DAL.csprojThêm tham chiếu dự án Persistence vào trong dự án BL
cd ./DAL
dotnet add reference ../Persistence/Persistence.csprojThê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.23Tạo dự án cho tầng BL
cd ../
dotnet new classlib -o BLThêm dự án vào Solution oms
dotnet sln oms.sln add ./BL/BL.csprojThêm tham chiếu dự án Persistence vào trong dự án BL
cd ./BL
dotnet add reference ../Persistence/Persistence.csprojThêm tham chiếu dự án DAL vào dự án BL
dotnet add reference ../DAL/DAL.csprojTạ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 ConsolePLThêm dự án vào Solution oms
dotnet sln oms.sln add ./ConsolePL/ConsolePL.csprojThêm tham chiếu dự án Persistence vào trong dự án ConsolePL
cd ./ConsolePL
dotnet add reference ../Persistence/Persistence.csprojThêm tham chiếu dự án BL vào dự án ConsolePL
dotnet add reference ../BL/BL.csprojChạy dự án
dotnet run --project ConsolePLTạ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 WebPLThêm dự án WebPL vào trong Solution oms:
dotnet sln osm.sln add ./WebPL/WebPL.csprojThêm tham chiếu dự án Persistence vào trong dự án WebPL
cd ./WebPL
dotnet add reference ../Persistence/Persistence.csprojThêm dự án BL vào trong dự án WebPL
dotnet add reference ../BL/BL.csprojTà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