LogicBuilder.Domain 8.0.0

Prefix Reserved
dotnet add package LogicBuilder.Domain --version 8.0.0
                    
NuGet\Install-Package LogicBuilder.Domain -Version 8.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LogicBuilder.Domain" Version="8.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LogicBuilder.Domain" Version="8.0.0" />
                    
Directory.Packages.props
<PackageReference Include="LogicBuilder.Domain" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LogicBuilder.Domain --version 8.0.0
                    
#r "nuget: LogicBuilder.Domain, 8.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LogicBuilder.Domain@8.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LogicBuilder.Domain&version=8.0.0
                    
Install as a Cake Addin
#tool nuget:?package=LogicBuilder.Domain&version=8.0.0
                    
Install as a Cake Tool

LogicBuilder.Domain

CI CodeQL NuGet

The LogicBuilder.Domain project provides foundational classes for building domain models in a layered architecture pattern.

Overview

This project contains the BaseModel abstract class, which serves as the base class for all domain model entities in the application layer. Domain models represent business entities and logic, distinct from data persistence concerns.

Key Components

BaseModel

An abstract base class implements the IBaseData interface which all domain model entities should implement.

Features:

  • EntityState Property: Tracks the state of the entity (Unchanged, Added, Modified, Deleted) using the EntityStateType enum from LogicBuilder.Data
  • Change Tracking: Enables generic CRUD operations in LogicBuilder.EntityFrameworkCore.SqlServer without coupling domain models directly to Entity Framework

Usage in LogicBuilder.EntityFrameworkCore.SqlServer

The BaseModel class is central to the repository pattern implementation:

  1. ModelRepositoryBase: Generic repository operations require models to implement IBaseModel (constraint: where TModel : IBaseModel)
  2. State Management: The EntityState property is mapped from domain models to Entity Framework's EntityState during save operations
  3. Graph Operations: Enables tracking of complex object graphs for insert, update, and delete operations through the SaveGraphAsync methods

Design Pattern

This follows a layered architecture approach:

  • LogicBuilder.Domain (Domain Layer): Business entities implementing IBaseModel
  • LogicBuilder.Data (Data Layer): Database entities implementing IBaseData
  • AutoMapper: Translates between domain models and data entities
  • LogicBuilder.EntityFrameworkCore.SqlServer: Provides generic repository pattern supporting both layers

By inheriting from BaseModel, your domain entities gain state tracking capabilities while remaining independent of Entity Framework infrastructure concerns.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on LogicBuilder.Domain:

Package Downloads
LogicBuilder.EntityFrameworkCore.SqlServer

Given an EF Core DBContext, LogicBuilder.EntityFrameworkCore.SqlServer uses AutoMapper configurations to support CRUD operations using the DTO objects.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.0.0 275 3/12/2026
7.1.0 555 1/12/2026
7.0.0 858 11/25/2024
6.0.3 257 11/3/2024
6.0.2 695 8/11/2024
6.0.1 298 3/28/2024
6.0.0 604 12/27/2023
5.0.12 401 10/14/2023
5.0.11 255 10/14/2023
5.0.10 392 8/15/2023
5.0.9 417 7/16/2023
5.0.8 595 5/10/2023
5.0.7 1,430 10/1/2022
5.0.6 1,603 6/16/2022
5.0.4 985 4/15/2022
5.0.3 949 4/15/2022
5.0.2 589 12/24/2021
5.0.1 682 12/14/2021
5.0.0 543 12/14/2021
4.1.3 923 9/8/2021
Loading failed

Refactoring to optimize DevOps.