Over a million developers have joined DZone.

New .NET Interface for In-Memory Database System Leverages C# Language's Reflection and Attributes

· Database Zone

To stay on top of the changing nature of the data connectivity world and to help enterprises navigate these changes, download this whitepaper from Progress Data Direct that explores the results of the 2016 Data Connectivity Outlook survey.

McObject has released a C#/.NET Framework application programming interface (API) for its eXtremeDB In-Memory Database System (IMDS) and related product family. The new API streamlines Windows software creation by enabling developers to work naturally with eXtremeDB entirely within C#’s object-oriented domain, while delivering the speed and efficiency of a database runtime that executes in compiled C code.

When using the C# API for eXtremeDB, there is no external database definition, and no requirement to compile a database schema. Instead, the API relies on C#’s reflection capability to discover database classes and their fields that are defined in the application, in the class definition syntax. This streamlines coding, and the developer's experience is one of working with plain old C# objects. Optionally, the C# class definitions can be used to generate a schema that, in turn, can be processed by McObject’s schema compiler, so that C/C++ and C# programs can use the same database. The C# interface is a port of a Java Native Interface (JNI) that was earlier released for eXtremeDB and described in detail on DZone JavaLobby in an article titled Java Annotations and Reflection: Powerful Building Blocks for a DBMS Interface.

For C# developers, eXtremeDB’s performance advantage stems from its streamlined architecture that manages data entirely in main memory and within the application’s address space, eliminating file I/O, cache management, inter-process communication and other overhead found in database systems that incorporate disk storage and/or a client-server architecture. The resulting minimal latency has driven eXtremeDB’s adoption in performance-intensive applications ranging from telecom call routing and combat jet avionics, to securities trading platforms and social network news feeds.


The reflection capability in C# is used to discover database classes and their fields that are defined in the application, via class definition syntax.



With the eXtremeDB C# API, C# class definitions use attributes (defined by brackets) to indicate a database characteristic.

Turn Data Into a Powerful Asset, Not an Obstacle with Democratize Your Data, a Progress Data Direct whitepaper that explains how to provide data access for your users anywhere, anytime and from any source.


The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}