Version 1.100.53 - Thursday 10 May 2018

The Ventura runtime libraries are now delivered as .Net Standard 2.0 class libraries. The runtime comes in two flavors:

  • VenturaSQL.NETStandard.dll contains the complete runtime;
  • VenturaSQL.NETStandard.WithoutADO.dll is the runtime without any ADO.NET/SqlClient references.

VenturaUWP.dll, VenturaAndroid.dll, VenturaIOS.dll, VenturaWPF.dll and VenturaWinForms.dll are replaced by the .Net Standard DLLs.

VenturaAspNet.dll still exists, but contains only the server bits, and must be referenced in combination with one of the fore mentioned .Net Standard DLLs.

VenturaAspNetCore.dll is new, and must be referenced with VenturaSQL.NETStandard.dll or VenturaSQL.NETStandard.WithoutADO.dll

NuGet identifiers

VenturaSQL.UWP, VenturaSQL.Android, VenturaSQL.iOS, VenturaSQL.WPF, VenturaSQL.WinForms are obsolete.

VenturaSQL.AspNet remains.

VenturaSQL.AspNetCore is new.

VenturaSQL.NETStandard is new.

VenturaSQL.NETStandard.WithoutADO is new.

Out-of-box experience

The out-of-box experience is vastly improved. When you create a new project, Ventura SQL Studio can generate sample recordsets and Visual Studio projects in the Ventura SQL project folder.


We've installed Microsoft's AdventureWorks sample database on an Azure SQL Server ( The database is used in the samples.

Version 1.0.202 - Tuesday 26 December 2017

Cosmetic changes and minor fixes only.

Version 1.0.200 - Thursday 29 June 2017

In preparation for the Ventura UX product, Ventura (the Data Access Layer) is renamed to Ventura SQL.

The EXE and DLL names and NuGet Id's have been changed.

EXE and DLL names

VenturaStudio.exe becomes VenturaSQLStudio.exe

VenturaUWP.dll becomes VenturaSQL.UWP.dll

VenturaAndroid.dll becomes VenturaSQL.Android.dll

VenturaIOS.dll becomes VenturaSQL.IOS.dll

VenturaWPF.dll becomes VenturaSQL.WPF.dll

VenturaWinForms.dll becomes VenturaSQL.WinForms.dll

VenturaAspNet.dll becomes VenturaSQL.AspNet.dll

NuGet identifiers

Ventura.UWP becomes VenturaSQL.UWP

Ventura.Android becomes VenturaSQL.Android

Ventura.iOS becomes VenturaSQL.iOS

Ventura.WPF becomes VenturaSQL.WPF

Ventura.WinForms becomes VenturaSQL.WinForms

Ventura.AspNet becomes VenturaSQL.AspNet

Do not forget to remove the old nuget reference, and replace it with the new NuGet Id in your Visual Studio projects.

This update contains no new or changed functionality.

Version 1.0.108 - Tuesday 4 April 2017

Cosmetic changes only.

Version 1.0.101 - Tuesday 31 January 2017

A minor but breaking change.

Recordset.SetLoadParams() was renamed to Recordset.SetExecSqlParams().

Version 1.0.100 - Sunday 29 January 2017

Breaking changes: The Load and Save methods of both the Transactional class and generated Recordset classes have been renamed.

Recordset.Load() was renamed to Recordset.ExecSql() and Recordset.LoadAsync() was renamed to Recordset.ExecSqlAsync()

Recordset.Save() was renamed to Recordset.SaveChanges() and Recordset.SaveAsync() was renamed to Recordset.SaveChangesAsync()

The Transactional class was modified in a similar way:

Transactional.Load() was renamed to Transactional.ExecSql() and Transactional.LoadAsync() was renamed to Transactional.ExecSqlAsync()

Transactional.Save() was renamed to Transactional.SaveChanges() and Transactional.SaveAsync() was renamed to Transactional.SaveChangesAsync()

With an SQL statement like "select * from Customers," calling the method executing the SQL statement "Load" is a perfect fit. However when your recordset contains, for example, an INSERT statement, "Load" is confusing. For this reason "Load" was renamed to "ExecSql" as this describes exactly what happens.

Version 1.0.90 - Thursday 26 January 2017

  • Implemented support for the INotifyPropertyChanged interface.
  • Implemented Calculated columns as an easy to implement alternative to XAML Value Converters and XAML MultiBinding.

Version 1.0.86 - Wednesday 25 January 2017

Due to a change in version 1.0.80 the [Move up] and [Move down] buttons stopped working. This was fixed.

Ventura SQL Studio will check if a Ventura update is available while starting, and display a message accordingly.

Version 1.0.80 - Tuesday 13 December 2016

The RTM release for version 1.0

Cosmetic changes only.

Version 1.0.70 - Release Candidate 5 - Friday 9 December 2016

In preparation for the RTM release the License Key format has been changed.

This means that Trial License keys that you download from from 9 December onwards, are only compatible with Ventura version 1.0.70 or higher.

If you are running version 1.0.60 or earlier, and you click the [Download trial key] button on the License page, Ventura SQL Studio will display an error message.

Update to version 1.0.70 and the error message will be gone.

Version 1.0.60 - Release Candidate 4 - Saturday 3 December 2016

A minor fix.

When a resultset column contains an expression like SELECT SUM(Invoice.Total), the column will be nameless. For this reason you have to give the column a name by adding the "AS" clause. For example:
 SELECT SUM(Invoice.Total) AS 'TotalInvoiced'

The recordset validator did not check for missing column names, and this allowed recordsets to be generated with empty property names. The validator has been updated.

Version 1.0.49 - Release Candidate 3 - Wednesday 23 November 2016

Two small changes.

A SQL variable starting with @@ is a global variable. They are declared and set automatically by SQL server.

When parsing a SQL statement in the recordset, global variables would inadvertently be added to the parameter list. This was fixed.

Generated C# source code files were written in ASCII format. This was changed to UTF8 to allow for special characters.

Version 1.0.48 - Release Candidate 2 - Monday 21 November 2016

Cosmetic changes only.

The first lines of a generated Recordset .cs source code file now contain the name of the project file, target platform, generator version and the generation timestamp:


       Project file: "C:\Active\Ventura\Internaltest\UWP Test.venproj"

       Target platform: UWP

       Generator version: 1.0.46

       Generated on: Monday, November 21, 2016 at 11:28:39 AM


Also, the updateable table information in the class summary was improved:

       /// <summary>

       /// This Recordset can be used to insert, update and delete data for SQL Server table [Employee].

       /// All the columns of the updateable table are present in the Recordset:

       /// - Primary key column(s) of the updateable table present in the Recordset: EmployeeId.

       /// - Non-primary key column(s) of the updateable table present in the Recordset: LastName, FirstName, Title, ReportsTo, BirthDate, HireDate, Address, City, State, Country, PostalCode, Phone, Fax and Email.

       /// </summary>

Version 1.0.46 - Release Candidate 1 - Thursday 17 November 2016

Breaking changes

Connectors.Default = new Connector(...);

needs to be replaced with:

VenturaConfig.DefaultConnector = new Connector(...);

New features

  • The start page displays a Most Recently Used (MRU) list of recently opened Ventura projects.

Removed features

  • The "automatically open most recent project after opening Ventura SQL Studio" option was removed, as it is replaced by the Start Page with the MRU list.

Version 1.0.40 - Beta 4 - Friday 11 November 2016

New features.

Synchronous loading and saving

Synchronous loading and saving of data has returned.

A few months ago we dropped this feature as we came to the conclusion it was obsolete. However, while using Ventura ourselves to access SQL Server data via a direct Ado.Net connection in the Web Application, we found marking methods as async caused unneeded complexity to certain modules.

Synchronous loading and saving methods: Transactional.Load(..), Transactional.Save(), Recordset.Load() and Recordset.Save()

Asynchronous: await Transactional.LoadAsync(..), await Transactional.SaveAsync(..), await Recordset.LoadAsync() and await Recordset.SaveAsync()

Note that a Record.Load/Save call internally calls Transactional.Load/Save.


Version 1.0.40 introduces a licensing system. When starting Ventura for the first time you need to unlock it with a purchased license key, or a free 30 day trial license.

A purchased license key includes one year of free product updates.

As purchase options will only be available on\Buy when the first RTM release is available, beta testers will need to use a trial key for now. Do not worry about the 30 day time limit. We will reset this time limit until 30 days after the RTM version is released.

Version 1.0.36 - Beta 3a - Thursday 29 September 2016

Minor fixes.

  1. The 'Raw schema' dialog will not open and display a message instead when an SQL statement returns no result sets;
  2. The 'Run query' dialog will not open and display a message instead when an SQL statement returns no result sets;
  3. The 'Run query' dialog couldn't handle CLR-UDT columns and displayed an error.

Version 1.0.34 - Beta 3 - Monday 26 September 2016

  1. In the project setting dialog you now need to specify the target platform (UWP/WPF/WinForms/Asp.Net/Android/iOS). Previous auto discovery of the project type was removed;
  2. For WPF and WinForms projects you can optionally disable inclusion of the SQL statement in the generated Recordset classes for security reasons. A Recordset with the SQL statement included can connect directly to SQL server;
  3. Each of the 6 possible output Visual Studio projects can be (temporarily) disabled by clearing a checkbox;
  1. All SQL server data types (except sql_variant) are now supported. CLR-UDT's are only available on the WPF/WinFormsAsp.Net platforms since CLR-UDT's can not be deserialized on UWP/Android and iOS platforms as they are running on a different .Net framework;

Version 1.0.30 - Beta 2 - Thursday 15 September 2016

  1. Multiple resultsets;
  2. Improved extraction of SQL parameter list from SQL statement;
  3. SQL output parameters (as well as input parameters);
  4. Use Recordsets with direct SQL Server connection, thus without middle tier, in Asp.Net, WPF and WinForms projects simply by changing the connectstring;
  5. When inserting a new row, the identity (autoincrement) column value is transmitted back to the client and updated in the Recordset;
  6. Recordsets can implement the INotifyCollectionChanged (ObservableCollection) interface by ticking a checkbox.

Version 1.0.24 - Beta 1 - Thursday 30 June 2016

The first public beta release for Ventura.