034 CREATING LOOKUP RESOURCE PROJECTS - chempkovsky/CS82ANGULAR GitHub Wiki

Notes

  • read the article 033 to clarify for which purposes the lookup resource is being created
  • read the article 004 about created solution and projects.
  • the prefix for the names of the newly created projects will be LpPhBk which means LookUp for the Phonebook.

Creating projects

Command Prompt

  • run Command Prompt and make E:\Development\PhonebookSolution folder active
C:\>e:
e:\>cd E:\Development\PhonebookSolution
E:\Development\PhonebookSolution>

Entity Framework project

dotnet new classlib -o LpPhBkEntity
dotnet sln PhonebookSolution.sln add LpPhBkEntity/LpPhBkEntity.csproj --solution-folder Server
dotnet add LpPhBkEntity/LpPhBkEntity.csproj package Microsoft.EntityFrameworkCore

DbContext project

dotnet new classlib -o LpPhBkContext
dotnet sln PhonebookSolution.sln add LpPhBkContext/LpPhBkContext.csproj --solution-folder Server
dotnet add LpPhBkContext/LpPhBkContext.csproj package Microsoft.EntityFrameworkCore
dotnet add LpPhBkContext/LpPhBkContext.csproj package Microsoft.EntityFrameworkCore.SqlServer
dotnet add LpPhBkContext/LpPhBkContext.csproj reference LpPhBkEntity/LpPhBkEntity.csproj

Views or Dto project

dotnet new classlib -o LpPhBkViews
dotnet sln PhonebookSolution.sln add LpPhBkViews/LpPhBkViews.csproj --solution-folder Server

Controllers project

dotnet new classlib -o LpPhBkControllers
dotnet sln PhonebookSolution.sln add LpPhBkControllers/LpPhBkControllers.csproj --solution-folder Server
dotnet add LpPhBkControllers/LpPhBkControllers.csproj package Microsoft.EntityFrameworkCore
dotnet add LpPhBkControllers/LpPhBkControllers.csproj package LinqKit.Microsoft.EntityFrameworkCore
dotnet add LpPhBkControllers/LpPhBkControllers.csproj reference LpPhBkEntity/LpPhBkEntity.csproj
dotnet add LpPhBkControllers/LpPhBkControllers.csproj reference LpPhBkContext/LpPhBkContext.csproj
dotnet add LpPhBkControllers/LpPhBkControllers.csproj reference LpPhBkViews/LpPhBkViews.csproj

With any text editor open LpPhBkControllers.csproj and modify <ItemGroup>...<\ItemGroup> as it shown below:

  <ItemGroup>
    ...
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    ...
  </ItemGroup>

WebApi project

dotnet new webapi -o LpPhBkWebApp
dotnet sln PhonebookSolution.sln add LpPhBkWebApp/LpPhBkWebApp.csproj --solution-folder Server
dotnet add LpPhBkWebApp/LpPhBkWebApp.csproj package LinqKit.Microsoft.EntityFrameworkCore
dotnet add LpPhBkWebApp/LpPhBkWebApp.csproj package Microsoft.AspNetCore.Authentication.JwtBearer
dotnet add LpPhBkWebApp/LpPhBkWebApp.csproj reference LpPhBkContext/LpPhBkContext.csproj
dotnet add LpPhBkWebApp/LpPhBkWebApp.csproj reference LpPhBkViews/LpPhBkViews.csproj
dotnet add LpPhBkWebApp/LpPhBkWebApp.csproj reference LpPhBkControllers/LpPhBkControllers.csproj

Remove Class1 files

  • In the following projects remove the file Class1.cs:
    • LpPhBkEntity
    • LpPhBkContext
    • LpPhBkViews
    • LpPhBkControllers

Remove WeatherForecastController

  • In the following project remove the file WeatherForecastController.cs:
    • LpPhBkWebApp

Remove WeatherForecast

  • In the following project remove the file WeatherForecast.cs:
    • LpPhBkWebApp

Add PhBk folder

  • In the following projects add PhBk folder
    • LpPhBkEntity
    • LpPhBkContext
    • LpPhBkViews

Add Controllers folder

  • In the following projects add Controllers folder

Solution structure

Reminder

<Project>
    <PropertyGroup>
        <DefineConstants>NOTMODELING</DefineConstants>
    </PropertyGroup>
</Project>
  • We saved Directory.Build.props-file in the E:\Development\PhonebookSolution-folder.
⚠️ **GitHub.com Fallback** ⚠️