A C# and Entity Framework Core database project designed for managing library data structures, built as part of the learning track at Hillel IT School.
- Language & Tech: C# | .NET 8.0+ | Entity Framework Core
- Approach: Code-First Database Design
- Architecture: Multi-project solution dividing core application logic, data access, and models.
The solution consists of three main decoupled projects to ensure a clean separation of concerns:
- 📁
Library.App— The executable application layer. Handles configuration, dependency injection, runtime execution, and main logic. - 📁
Library.DAL(Data Access Layer) — Contains the database context (LibraryContext), entity data configurations, and EF Core Migrations tracking the schema state. - 📁
Library.Common— Shared data layer holding domain entity models (Book,Author,User,BorrowedBook, etc.) and system-wide utilities.
- Dynamic relationship mapping (Many-to-Many configurations for books and authors).
- Data integrity tracking through automated EF Core migrations.
- Historical records simulation using entity models for borrowed books.
- Ensure you have the latest .NET SDK and an IDE that supports the new
.slnxsolution format (Visual Studio 2022 v17.10+ or JetBrains Rider). - Clone the repository:
git clone https://github.com
- Open
Library.slnxinside your IDE. - Apply migrations to generate your local database instance:
dotnet ef database update --project Library.DAL --startup-project Library.App
- Run the
Library.Appstartup project.