Illustration Image

Cassandra.Link

The best knowledge base on Apache Cassandra®

Helping platform leaders, architects, engineers, and operators build scalable real time data platforms.

7/14/2018

Reading time:4 min

MiracleDevs/Paradigm.ORM

by John Doe

README.md LibraryNugetInstallDataInstall-Package Paradigm.ORM.DataMySqlInstall-Package Paradigm.ORM.Data.MySqlPostgreSQLInstall-Package Paradigm.ORM.Data.PostgreSqlSQL ServerInstall-Package Paradigm.ORM.Data.SqlServerCassandraInstall-Package Paradigm.ORM.Data.Cassandra.NET Core ORM with dbfirst support, and code scaffolding features. This ORM supports different database sources.Self Contained Deploy (SCD)Bellow you can find portable versions for all major OSs.If you are planning to use the tools in several projects, we recommend to add the SCD folder to your PATH.ToolOSZip FileDbFirstWindows x86DownloadDbFirstWindows x64DownloadDbFirstLinux x64DownloadDbFirstOSX x64DownloadDbPublisherWindows x86DownloadDbPublisherWindows x64DownloadDbPublisherLinux x64DownloadDbPublisherOSX x64DownloadDataExportWindows x86DownloadDataExportWindows x64DownloadDataExportLinux x64DownloadDataExportOSX x64DownloadChange logVersion 2.2.4Added visual basic tests.Updated nuget dependencies.Fixed a couple of bugs found with the vb tests.Version 2.2.3Added new DatabaseCommandException thrown when executing database commands. The DatabaseCommandException contains a reference to theexecuting command, allowing for a better debugging experience.Use Command.CommandText to observe the sql or cql query being executed.Use Command.Parameters to observe the parameters bound to the query.Fixed a bug in Cassandra connector not adding a parameter in one of the AddParameters methods.Fixed a bug in CustomQuery sync execution not updated the command text after parameter replacement.Improved and updated tests.Version 2.2.2Removed mandatory data type in ColumnAttribute. The orm will choose the default column types for each database type.Changed how the CommandBatch replace parameter names, to prevent name collision.Added tests for the command batch name replacement.Changed how select parameters are replaced, from @Index to @pIndex or :pIndex, depending on the database parameter naming conventions.Updated NuGet dependencies.Version 2.2.1Added a cache service for descriptors all over the orm, to prevent tons of small objects filling the heap.Removed constructors receiving descriptors. Now all the ORM classes should refer to the cache for descriptors.Descriptor constructors are now internal and can not be instantiated outside the ORM.Version 2.2.0Refactor command handling to allow parallel execution of the ORM without conflicting with some of theconnectors. The orm does not cache a command inside the command builder any more.Refactor command builders and moved shared functionality to the core classes, and removed theduplication from the client implementations. Now will be even easier to implement new clients.Moved base protected methods from the CommandBuilderBase to the ICommandFormatProvider and added a newbase CommandFormatProviderBase with shared behavior for all the different format providers.Removed IDisposable interface from most of the ORM core classes. The most notable are:Database accessQueryCustom queryAll the stored procedure typesSchema ProviderRemoved extension methods for the IDatabaseConnector not used any more.Version 2.1.7Changed how the DatabaseAccess classes utilize the BatchManager to be thread safe.Version 2.1.6Updated Paradigm.Core and other dependencies.Published new versions for the tools.Version 2.1.5Removed a dependency over generic entities that needed a parameterless constructorin all the solution.Version 2.1.4Removed a dependency over generic entities that needed a parameterless constructor.Version 2.1.3Added new constructor to DatabaseReaderMapper to allow set both the service provider and thedatabase connector. This will allow multi-tenancy support using the dbfirst generated code.Added new constructors to all the stored procedure types for the same reason as the previous point.Added missing ValueConverter inside the database reader value provider.Version 2.1.2Changed the database reader mappers to work with the IServiceProvider class. Now, will try to instantiatethe entities with the service provider first, and if the service provider can't, will use the activator tocreate a new instance. This will allow the Paradigm.Services framework to fully delegate the instancing toDI allowing better DDD.Version 2.1.1Fixed a problem in cassandra connector where the schema provider can not guess the column type when the column is aclustering key with order applied to it.Made the modifications to the tests to test the above problem.Version 2.1.0Added a new Cassandra connector.This new connector allows to work against Apache Cassandra o ScyllaDB. There are some limitations imposed by theDataStax connector, and other imposed by the orm, but for most cases will be just fine.Warning: The ORM will work with column families that mimic sql tables, aka. without lists, maps, or other not standardrelational databases. Even if Cassandra does not supports joins, the ORM allows to create virtual foreign keys between tablesand create navigation properties from it.Data Export, DbFirst and DbPublisher can work now against Cassandra and ScyllaDB.In all the configuration files, now the Database Type changed to Upper Camel Case syntax, the database types are:SqlServer,MySql,PostgreSql,CassandraUpdated MySql Connector version.Version 2.0.1Updated Paradigm.Core to version 2.0.1.Version 2.0.0Updated .net core from version 1 to version 2.Version 1.0.0Uploaded first version of the Paradigm ORM.

Illustration Image

README.md

Build Status

Library Nuget Install
Data NuGet Install-Package Paradigm.ORM.Data
MySql NuGet Install-Package Paradigm.ORM.Data.MySql
PostgreSQL NuGet Install-Package Paradigm.ORM.Data.PostgreSql
SQL Server NuGet Install-Package Paradigm.ORM.Data.SqlServer
Cassandra NuGet Install-Package Paradigm.ORM.Data.Cassandra

.NET Core ORM with dbfirst support, and code scaffolding features. This ORM supports different database sources.

Self Contained Deploy (SCD)

Bellow you can find portable versions for all major OSs. If you are planning to use the tools in several projects, we recommend to add the SCD folder to your PATH.

Tool OS Zip File
DbFirst Windows x86 Download
DbFirst Windows x64 Download
DbFirst Linux x64 Download
DbFirst OSX x64 Download
DbPublisher Windows x86 Download
DbPublisher Windows x64 Download
DbPublisher Linux x64 Download
DbPublisher OSX x64 Download
DataExport Windows x86 Download
DataExport Windows x64 Download
DataExport Linux x64 Download
DataExport OSX x64 Download

Change log

Version 2.2.4

  • Added visual basic tests.
  • Updated nuget dependencies.
  • Fixed a couple of bugs found with the vb tests.

Version 2.2.3

  • Added new DatabaseCommandException thrown when executing database commands. The DatabaseCommandException contains a reference to the executing command, allowing for a better debugging experience. Use Command.CommandText to observe the sql or cql query being executed. Use Command.Parameters to observe the parameters bound to the query.
  • Fixed a bug in Cassandra connector not adding a parameter in one of the AddParameters methods.
  • Fixed a bug in CustomQuery sync execution not updated the command text after parameter replacement.
  • Improved and updated tests.

Version 2.2.2

  • Removed mandatory data type in ColumnAttribute. The orm will choose the default column types for each database type.
  • Changed how the CommandBatch replace parameter names, to prevent name collision.
  • Added tests for the command batch name replacement.
  • Changed how select parameters are replaced, from @Index to @pIndex or :pIndex, depending on the database parameter naming conventions.
  • Updated NuGet dependencies.

Version 2.2.1

  • Added a cache service for descriptors all over the orm, to prevent tons of small objects filling the heap.
  • Removed constructors receiving descriptors. Now all the ORM classes should refer to the cache for descriptors.
  • Descriptor constructors are now internal and can not be instantiated outside the ORM.

Version 2.2.0

  • Refactor command handling to allow parallel execution of the ORM without conflicting with some of the connectors. The orm does not cache a command inside the command builder any more.
  • Refactor command builders and moved shared functionality to the core classes, and removed the duplication from the client implementations. Now will be even easier to implement new clients.
  • Moved base protected methods from the CommandBuilderBase to the ICommandFormatProvider and added a new base CommandFormatProviderBase with shared behavior for all the different format providers.
  • Removed IDisposable interface from most of the ORM core classes. The most notable are:
    • Database access
    • Query
    • Custom query
    • All the stored procedure types
    • Schema Provider
  • Removed extension methods for the IDatabaseConnector not used any more.

Version 2.1.7

  • Changed how the DatabaseAccess classes utilize the BatchManager to be thread safe.

Version 2.1.6

  • Updated Paradigm.Core and other dependencies.
  • Published new versions for the tools.

Version 2.1.5

  • Removed a dependency over generic entities that needed a parameterless constructor in all the solution.

Version 2.1.4

  • Removed a dependency over generic entities that needed a parameterless constructor.

Version 2.1.3

  • Added new constructor to DatabaseReaderMapper to allow set both the service provider and the database connector. This will allow multi-tenancy support using the dbfirst generated code.
  • Added new constructors to all the stored procedure types for the same reason as the previous point.
  • Added missing ValueConverter inside the database reader value provider.

Version 2.1.2

  • Changed the database reader mappers to work with the IServiceProvider class. Now, will try to instantiate the entities with the service provider first, and if the service provider can't, will use the activator to create a new instance. This will allow the Paradigm.Services framework to fully delegate the instancing to DI allowing better DDD.

Version 2.1.1

  • Fixed a problem in cassandra connector where the schema provider can not guess the column type when the column is a clustering key with order applied to it.
  • Made the modifications to the tests to test the above problem.

Version 2.1.0

  • Added a new Cassandra connector. This new connector allows to work against Apache Cassandra o ScyllaDB. There are some limitations imposed by the DataStax connector, and other imposed by the orm, but for most cases will be just fine.

Warning: The ORM will work with column families that mimic sql tables, aka. without lists, maps, or other not standard relational databases. Even if Cassandra does not supports joins, the ORM allows to create virtual foreign keys between tables and create navigation properties from it.

  • Data Export, DbFirst and DbPublisher can work now against Cassandra and ScyllaDB.
  • In all the configuration files, now the Database Type changed to Upper Camel Case syntax, the database types are:
    • SqlServer,
    • MySql,
    • PostgreSql,
    • Cassandra
  • Updated MySql Connector version.

Version 2.0.1

  • Updated Paradigm.Core to version 2.0.1.

Version 2.0.0

  • Updated .net core from version 1 to version 2.

Version 1.0.0

  • Uploaded first version of the Paradigm ORM.

Related Articles

api.management
snowflake
oracle

GitHub - dreamfactorysoftware/dreamfactory: DreamFactory API Management Platform

John Doe

3/7/2024

Checkout Planet Cassandra

Claim Your Free Planet Cassandra Contributor T-shirt!

Make your contribution and score a FREE Planet Cassandra Contributor T-Shirt! 
We value our incredible Cassandra community, and we want to express our gratitude by sending an exclusive Planet Cassandra Contributor T-Shirt you can wear with pride.

Join Our Newsletter!

Sign up below to receive email updates and see what's going on with our company

Explore Related Topics

AllKafkaSparkScyllaSStableKubernetesApiGithubGraphQl

Explore Further

mysql