Aranasoft.Cobweb.EntityFrameworkCore.Validation 1.80.0

Prefix Reserved
dotnet add package Aranasoft.Cobweb.EntityFrameworkCore.Validation --version 1.80.0                
NuGet\Install-Package Aranasoft.Cobweb.EntityFrameworkCore.Validation -Version 1.80.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="Aranasoft.Cobweb.EntityFrameworkCore.Validation" Version="1.80.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aranasoft.Cobweb.EntityFrameworkCore.Validation --version 1.80.0                
#r "nuget: Aranasoft.Cobweb.EntityFrameworkCore.Validation, 1.80.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.
// Install Aranasoft.Cobweb.EntityFrameworkCore.Validation as a Cake Addin
#addin nuget:?package=Aranasoft.Cobweb.EntityFrameworkCore.Validation&version=1.80.0

// Install Aranasoft.Cobweb.EntityFrameworkCore.Validation as a Cake Tool
#tool nuget:?package=Aranasoft.Cobweb.EntityFrameworkCore.Validation&version=1.80.0                

Aranasoft.Cobweb.EntityFramework.Validation

Azure DevOps

Schema validation and testing components for Entity Framework Core.

Cobweb was created by Arana Software, a software agency in Las Vegas, Nevada.

Details

A utility for Entity Framework Core. It includes a schema validation tool that can be used to validate the schema of a database against the schema of an Entity Framework Core DbContext.

Validations

Tables

  • Table presence
  • Column presence
  • Column type
  • Column nullability
  • Column default values (Entity Framework Core 3.x and later)

Views (Entity Framework Core 3.x and later)

  • View presence
  • Column presence
  • Column type
  • Column nullability

Indexes

  • Index presence
  • Index uniqueness (Entity Framework Core 3.x and later)

Foreign Keys

  • Foreign Key presence

Installation

From Package Manager Console:

PM> install-package aranasoft.cobweb.entityframeworkcore.validation

From .NET CLI:

> dotnet add package aranasoft.cobweb.entityframeworkcore.validation

Usage

// using Aranasoft.Cobweb.EntityFrameworkCore.Validation

myApplicationContext.ValidateSchema([options]);

ValidateSchema requires that the DbContext uses an Application Service Provider configured with platform-specific design time services.

Example:

  var serviceCollection = new ServiceCollection().AddEntityFrameworkDesignTimeServices();
  new SqlServerDesignTimeServices().ConfigureDesignTimeServices(serviceCollection);
  var serviceProvider = serviceCollection.BuildServiceProvider();

  var builder = new DbContextOptionsBuilder<ApplicationDbContext>();
  builder.UseSqlServer(myConnection);
  builder.UseApplicationServiceProvider(serviceProvider);

  var myApplicationContext = new ApplicationDbContext(builder.Options);

Options

// using Aranasoft.Cobweb.EntityFrameworkCore.Validation

var options = new SchemaValidationOptions{
                      ValidateIndexes = true,
                      ValidateForeignKeys = true
                  };

ValidateIndexes

Type: boolean<br> Default: true

Set to false to skip validation of indexes.

ValidateForeignKeys

Type: boolean<br> Default: true

Set to false to skip validation of foreign keys. Useful for platforms that do no use foreign keys.

ValidateNullabilityForTables

Type: boolean<br> Default: true

Set to false to skip validation of nullability on table columns.

ValidateNullabilityForViews

Type: boolean<br> Default: false

Set to false to skip validation of nullability on view columns. By default, many database platforms enable nullability on view columns regardless of nullability on the underlying table column.

This option is not applicable to Entity Framework Core 2.x or Aranasoft.Cobweb.EntityFrameworkCore.Validation 1.2x.x.

License

Cobweb is copyright of Arana Software, released under the BSD License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.80.0 168 3/20/2024
1.70.0 148 3/20/2024
1.60.2 134 3/20/2024
1.60.1 3,457 6/20/2022
1.60.0 1,467 1/25/2022
1.50.5 126 3/20/2024
1.50.4 778 6/20/2022
1.50.3 867 1/22/2022
1.50.2 880 1/22/2022
1.50.1 839 1/21/2022
1.30.7 146 3/20/2024
1.30.6 864 6/20/2022
1.30.5 829 1/22/2022
1.30.4 1,215 10/30/2020
1.30.3 928 9/16/2020
1.30.2 1,246 4/14/2020
1.30.0 914 4/9/2020
1.20.7 130 3/20/2024
1.20.6 848 6/20/2022
1.20.5 831 1/22/2022
1.20.4 898 10/30/2020
1.20.2 913 4/14/2020
1.20.0 1,754 12/10/2019
1.20.0-preview-10501 795 12/5/2019

CHANGELOG.md