NJDX is a high-performance, developer-friendly and lightweight OR-Mapping solution for seamlessly bridging the gap between the NET object model and SQL relational model. NJDX provides a very natural object-oriented interface to store and retrieve .NET objects using relational databases. NJDX increases programmer productivity tremendously by making the code simpler and yet efficient.
Traditional approaches generate endless lines of complex source code that is tedious, verbose, and a maintenance nightmare. NJDX employs a clean, dynamic, and meta-data driven programming methodology supporting pure domain object models, resulting in simpler and faster applications that are easy to evolve and maintain.
NJDX has been tightly integrated with Visual Studio .NET and can be used with any CLR-based language including C#, VB.NET, and J#. it also allows mapping of existing (legacy) relational data to .NET objects. NJDX provides your applications independence from different backend databases and ADO.NET/OleDB/ODBC drivers
NJDXStudio: Visual Studio AddIn
NJDXDemo GUI Tool
NDX Features and Benefits:
Declarative mapping specification based on simple grammar
- Human-readable and easily comprehensible; no need to struggle with complex XML files.
Compact; most default mapping is automatically deduced; avoids verbosity.
A non-intrusive and dynamic programming model
- No requirement to inherit from a special class.
- No generation of complex source code for data access methods.
- Allows easy evolution of object and relational models.
Easily handles complex object structures, including class-hierarchies.
- Associative and aggregated relationships.
- 1-to-1, 1-to-many, and many-to-many relationships.
- Aggregated or separated tables options for storing objects in a class-hierarchy
Flexible query options – deep, shallow, and anything in-between
- Supports loading of partial objects,
- Sophisticated query predicates (including path-expressions)
- Powerful object-streaming functionality.
- Polymorphic queries.
- Dynamic data routing.
- Named queries for greater convenience, more flexibility, and better performance.
- No learning of any new query language required.
Stored procedure integration
- Simple mapping definition for stored procedures.
- Flexible APIs supporting in, in/out, and out parameters.
- Automatic object-instantiations using stored procedure datasets.
- Allows leveraging of RDBMS specific features and legacy investment.
- Allows mapping of class attributes, which are not explicitly declared in the class definition.
- Enables flexible evolution of object/data modeling in many situations.
- Returns the aggregate value (COUNT, MIN, MAX, AVG, SUM) for the specified attribute of the qualifying objects. Enables easy data analysis.
Provides super-fast access to business objects from high-performance memory cache.
Optimistic locking for concurrency control
- Provides a faster and more scalable locking alternative to database locking. Especially useful for long-running transactions with minimal conflicting update operations.
Lightweight and optimized mapping engine
- Connection pooling.
- Optimized SQL statements.
- Minimal database trips.
- Short code paths.
- Small footprint.
- Accelerates data exchange.
Seamless integration with Visual Studio for .NET (NJDXStudio)
- Intuitive pulldown menu items conducive to OR-Mapping related activities
- Forward-engineering of relational schema from object model.
- Reverse engineering of C# classes from existing schemas.
- Online hyper-linked mapping grammar.
- Wizard for running mapping verification GUI tool using live data.
Works with popular databases and existing schema
- Supports SQL Server, Oracle, IBM DB2, Access, and OleDB data sources.
- Can easily reverse-engineer an object model from an existing relational schema.
- Provides forward-engineering for schema creation.
- Supports trusted connections.
- APIs for SQL bypass.
NJDXDemo: A powerful and intuitive GUI tool
- Helps in easily verifying OR-mapping specification.
- Facilitates interactive development using live data.
Nifty components and facilities to simplify development
- Utility components for pooling NJDX handles.
- Persistently unique sequence generators.
- Object-viewing facilities.
- Support for instance callback methods.
Easy-to-learn and easy-to-use
- Clean design – not an over-engineered framework with complex semantics.
- Small set of simple and flexible APIs.
- No learning of new query language required.
- Meaningful error and debug messages.
- A comprehensive manual, many tutorials and working examples
NJDX OR-Mapper Compatibility
||C#, VB.NET, J#, and any CLR based language
||MS SQL Server, Oracle, IBM DB2, MS Access, and any OleDB data source
||Version 1.1, 2.0