The 3-tier SQL framework for C# projects.
Save 80% of development time as database access and web service middle-tier are integrated into a single solution. No need to learn Entity Framework, ORM, LINQ and Web API.
We are the pioneer in integrating the middle-tier into the data access layer.
Ventura was specifically designed for developing Line of Business (LOB) applications, that deal with large numbers of small database transactions (OLTP) by a large number of users.
Direct SQL connections are not desirable in modern apps, as you do not want to expose your organization's SQL statements to outsiders. Ventura SQL is a SQL framework with an integrated middle-tier. In a 3-tier solution, the client does not connect to the database directly, instead it retrieves an updates data through middle layer web services via HTTP.
In Ventura SQL you define the data access layer by entering SQL statements in Ventura SQL Studio and clicking the Generate button. Ventura Studio generates recordset source code based on the resultset(s) as returned by the database. The generated SQL framework is injected into your C# projects and the client runtime does the rest. There is no need to define models or mappings, and that is what keeps your project simple, understandable and manageable. This is a genius concept that maximizes programmer productivity.
The client runtime is a .Net Standard 2.0 class library and runs on all C# platforms:
Ventura SQL uses ADO.NET to access the database. ADO.NET Providers are available for a wide range of databases.
For the middle-tier web server an ASP.NET or ASP.NET Core Web application project is used. You don't need to write any code for the project. Ventura SQL Studio will automatically add the generated SQL framework to the project, and all that is left to do, is running the Web application. The server runtime does the rest.
Ventura SQL uses Microsoft's IIS (Internet Information Server) or Kestrel as the middle-tier web server. On Linux, the web server to use is Microsoft's Kestrel, optionally with a reverse-proxy server like Nginx or Apache.
Ventura SQL makes defining your data access layer as easy as entering a SQL statement and clicking the Generate button.
The middle-tier indicates it is ready to process requests.
Using the generated recordset in your code to retrieve and update data is a breeze.
VenturaConfig.DefaultConnector = new HttpConnector("https://venturatools.com/Ventura.FSPRO"); ChinookEmployeeRecordset rs = new ChinookEmployeeRecordset(); rs.ExecSql(5 /* EmployeeId */ ); // Add a record. rs.Append(); rs.FirstName = "Robert"; rs.LastName = "King"; // Enumerate records. foreach (var record in rs) record.Phone = "+1 (403) 456-9986"; // Delete a record. var first_record = rs; rs.Delete(first_record); rs.SaveChanges(); // Data bind to control. listView.ItemsSource = rs;