BlackHole.Core.ORM 6.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package BlackHole.Core.ORM --version 6.0.2                
NuGet\Install-Package BlackHole.Core.ORM -Version 6.0.2                
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="BlackHole.Core.ORM" Version="6.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BlackHole.Core.ORM --version 6.0.2                
#r "nuget: BlackHole.Core.ORM, 6.0.2"                
#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 BlackHole.Core.ORM as a Cake Addin
#addin nuget:?package=BlackHole.Core.ORM&version=6.0.2

// Install BlackHole.Core.ORM as a Cake Tool
#tool nuget:?package=BlackHole.Core.ORM&version=6.0.2                

BlackHole-Core-ORM

A fully automated, very easy to use and setup, with many new features, Object Relational Mapping Library, for .Net Core 6 and 7. Using Custom Data Providers that are 3x times faster than EF Core and Dapper. Many interfaces for easy Reading and Writing Data. Extention Methods for Joining any tables. It Supports SQL SERVER, MYSQL, POSTGRESQL, ORACLE and SQLITE.

6.0.1 is released.

Changes:

  • Added Schema support for SqlServer and Postgres
  • Added support for the new BlackHole-Core-Cli , that adds the 'Database First' capability and more.
  • Added support for some famous sql funtions in the 'Where' statement.
  • Added support for other custom methods and popular dotnet methods in the 'Where' statement. Like ⇒ string.Contains(), string.Replace() etc.
  • Added Initial Data support using the interface 'IBHInitialData' you can run insert commands on the creation of your database and store some default data. It can also load sql commands from files.
  • Addes support for Nullable properties in the 'BlackHoleEntity'.
  • Added Timeout Setting for the sql commands in the configuration's options.
  • Improved speed and reliability of the ExpressionToSql translator.
  • Fixed outer joins bug.

Example:

-Find an Example Project here ⇒ BlackHole Example

Documentation:

-Find Online Documentation here ⇒ BlackHole Documentation

Command Line Interface dotnet tool:

-Find BlackHole.Core.Cli here ⇒ Nuget

Quick Start:

  • In Your project install Black.Hole.ORM from nuget

  • In your Program.cs add 'using BlackHole.Configuration' Add the following line into your IServiceCollection ⇒ services.SuperNova(settings ⇒ settings.IsDeveloperMode(devmode == "dev").AddDatabase(connection ⇒ connection.UseOracle(connectionString)))

  • Create some Entities in any folder that Inherit from the class 'BlackHoleEntity<int>' for Entities that are using Integer as Id, or 'BlackHoleEntity<Guid>' for Entities that are using Guid as Id or 'BlackHoleEntity<string>' for Entities that are using SHA1 hash as Id. (using BlackHole.Entities)

  • Add properties on your Entities except the Id property that already exists in the BlackHoleEntity class.

  • Add Attributes to the properties of your Entities' '[ForeignKey(typeof(Entity), nullability)]' , '[NotNullable]' and '[VarCharSize(int)]'

    • You can also use '[UseActivator]' attribute on your Entity, to take advantage of the 'IsActive' column in case you need to keep the data after delete.
  • Make your services Inherit from 'BlackHoleScoped' or 'BlackHoleSingleton' or 'BlackHoleTransient' so they will be automatically registered on the Startup without needing services.Add(<>). (using BlackHole.Services)

  • Last step , go to your services or your controllers and add the Interfaces for the DataProviders ⇒ private readonly IBHDataProvider<Entity,IdType> _entityService; Example: IBHDataProvider<Customer,Guid> _customerService; (using BlackHole.Core)

  • For custom queries and commands, use the IBHConnection Interface that is already Injected with Dependency Injection.

  • Done! You are ready to use all the functionality of the Data Providers in your services.

  • there are descriptions on the methods of what they do

  • The Ids are created automatically on Insert and they get returned.

  • The cascade on Foreign keys is automatic and it depends on the Nullability of the column

I will soon upload here a more detailed guide of all the functionalities of this ORM, such as Stored Views and Joins and automatic mapping on DTOs or Updating Specific Columns.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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. 
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
8.1.0-rc.2 201 10/31/2023
8.1.0-rc 66 9/26/2023
7.1.2 523 10/31/2023
7.1.1 363 9/26/2023
6.1.2 363 10/31/2023
6.1.1 359 9/26/2023
6.0.3 408 7/16/2023
6.0.2 413 7/8/2023
6.0.1 374 6/29/2023
6.0.0 424 4/20/2023

-Added Schema support for SqlServer and Postgres
-Added support for the new BlackHole-Core-Cli , that adds the 'Database First' capability and more.
-Added support for some famous sql funtions in the 'Where' statement.
-Added support for other custom methods and popular dotnet methods in the 'Where' statement. Like => string.Contains(), string.Replace() etc.
-Added Initial Data support using the interface 'IBHInitialData' you can run insert commands on the creation of your database and store some default data. It can also load sql commands from files.
-Addes support for Nullable properties in the 'BlackHoleEntity'.
-Added Timeout Setting for the sql commands in the configuration's options.
-Improved speed and reliability of the ExpressionToSql translator.
-Fixed outer joins bug.
-Fixed postgres parsing bug.