The reason for making this project is to develop skils in LINQ, SQL, DotNET, and EF Core
FBT : Folder By Type
FBF : Folder By Feature
Project Name | Language | Folder Structure |
---|---|---|
Off-Black.Wep | .NET 5.0 | FBF |
Off-Black.Service | .Net 5.0 | FBT |
Off-Black.Repository | .Net 5.0 | FBT |
- Visual Studio 2019
- ASP.Net 5.0
- Entity Framework Core
- Razor Pages
- Log4Net
- xUnit
- Basic knowledge of VSTS, GIT and LINQ
This solution is realized as a DotNET 5.0 project.
The solution is built with a 3-tier architecture. It starts with a presentation layer, and for this case it is the web layer. This layer calls down to the service layer with all the business logic, without presentation layer specific code. The next layer is the repository that handles the database and sql execution, and it is only accessible by the service layer. But there is a little flaw in this design, and it means that the presentation layer also have access to the repository, because it is needed for dependency injection in Startup.cs
- Open the project in Visual Studio and publish Project
- Select "IIS, FTP, etc" when prompted for a publish target and use the following options:
- Publish method: File System.
- Target location: Create a new folder and use it as the target
- Configuration: Release
- Target Framework: netcoreapp5.0
- Deployment Mode: Self-Contained
- Target Runtime: win-x64
Copy the files to the IIS Server's share, after the publish is finished.
Library | Version |
---|---|
Automapper | 10.1.1 |
FluentNHibernate | 3.1.0 |
Log4Net | 2.0.12 |
Microsoft.EntityFrameworkCore | 5.0.11 |
Microsoft.EntityFrameworkCore.Design | 5.0.11 |
Microsoft.EntityFrameworkCore.InMemory | 5.0.11 |
Microsoft.EntityFrameworkCore.SqlServer | 5.0.11 |
Microsoft.EntityFrameworkCore.Tools | 5.0.11 |
Microsoft.EntityFrameworkCore.Console | 5.0.0 |
Microsoft.VisualStudio.Web.BrowserLink | 2.2.0 |
NetEscapades.Extensions.Logging.RollingFile | 2.4.1 |
Microsoft.NET.Test.SDK | 16.11.0 |
XUnit | 2.4.1 |
XUnit Runner | 2.4.3 |
Name | Role | |
---|---|---|
Peter Hymoller | [email protected] | Developer |