VenturaSQLThe 3-tier SQL framework for C# projects. Where an ORM binds to columns properties dynamically, VenturaSQL is static and the mapping is already done at compile time. With a runtime DLL of less than 100KB you can use both an ORM and VenturaSQL in the same project. Both approaches have their unique benefits. Use VenturaSQL when:
The only requirement for using VenturaSQL is that the client must be able to run C# code. A browser running C# code with Blazor WebAssembly is supported, but a browser only running JavaScript is not supported. VenturaSQL can support any ADO.NET data provider, but currently the only tested providers are:
VenturaSQL Studio generates recordsetsThe VenturaSQL Studio WPF app generates recordset classes based on SQL statements. The recordsets are automatically injected into your C# projects. Each generated recordset has column properties based on the resultset of an SQL statement. Change the SQL statement, and the column properties change too. A recordset retrieves data and updates the database via a single static Web API Controller. There is no need to write controller code. Data is transmitted in binary format. In desktop and server applications, a recordset can also connect to a database directly. Blazor WebAssemblyVenturaSQL is perfect for Blazor WebAssembly. The VenturaSQL C# recordsets running in the browser are optimized for speed and have built in change tracking. Only modified data is transmitted back to the server via Web API calls. For the Blazor WebAssembly developer, it feels just like you are connected to the database directly. Here is a demo of a Blazor WebAssembly app using VenturaSQL for data access. Web APIA single static Web API controller with a POST method needs to be added to the ASP.NET Core project.
Client codeThe client must be able to run C# code.
The VenturaSQL systemVenturaSQL has three parts:
The runtime DLL is 95KB, and the middle-tier DLL is 13KB. VenturaSQL is lightweight, does not use reflection and is very fast. Installing VenturaSQL StudioDownload and run the VenturaSQL Studio installer. The installer comes with ready to run template projects. or Download the GitHub repository and open the solution and run the VenturaSQLStudio project. The GitHub repository does not include the template projects. Resources
Advanced Features
Upcoming Feature: Data SentryThe Data Sentry validates the data that is received from the client. This is a security layer to avoid tampering with data. The skeleton C# class for the Data Sentry is generated by VenturaSQL Studio. The Data Sentry is run by the Web API Controller for VenturaSQL's middle-tier. The developer only needs to add validation code for the data received. When validation fails, simply throw an Exception. The request is then aborted and the error message is sent back to the client. For example: User John is only allowed to update customer records that are assigned to him. When you detect that John tries to update a customer record that is not assigned to him, you throw an Exception and request is aborted all together. |