Code Generation For C#, WPF, WCF, SQL SERVER/ORACLE/MYSQL and Visual Studio 2013-2019

Report a bug or request a feature

Recent Releases
6th July 2020

MEDIUM SIZED NEWS - Increased Support For .Net Core 3.1

We have added a new wizard for API Only projects (.NetCore3) for when you are building a library of standalone web apis/controllers, to be called from separate client app(s). Also upgrades to the class library and mvc wizards to support .Net Core 3.1+. The advanced settings therefore now includes 4 .Net Core 3.1+ wizards (Mvc, ApiOnly, Angular8, ClassLibrary), along with their integrated support for multi-tier, identity 2.0+

In Summary:
New - Wizard for Asp.Net MVC on .NetCore 3.1 & AspIdentity 2.0+ With NO EntityFramework
New - Wizard for .NetCore 3.1 API Controllers Only projects with optional & AspIdentity 2.0+
New - Wizard for .NetCore 3.1 basic Class Lib projects

Gone - Wizard for new .NetCore 1.0 MVC apps
Gone - Wizard for new .NetCore 1.0 Class Lib projects

Fixed: Missing menu.xml when generating an angular/dotnet3 project without specifying any db tables.
16th July 2020
Fix - Improved handling of locked files for eg by source control - now reports inaccessible filename on results screen
Fix - Improved handling of unloaded projects in visual studio, catching the exception should help projects get reloaded
Fix - Corrected name of linked project to 'Api' instead of 'Wcf' in project description box advanced settings
Fix - Missing NetCore3 Wizards packages in release build
5th May 2021
Fix - Bug generating older version identity schema
Fix - Escaping menuitems.xml actually works
Fix - Occasional error in visual studio not reloading project
6th June 2020

MEDIUM SIZED NEWS - Support For .Net Core 3.1 & Angular arrives, sort of.

We have replaced the Multi Tier WPF/WCF Project wizard with an Angular8 + .NetCore 3.1 ApiControllers project which allows you to create a lean and mean angular/netcore project crucially with NO EntityFramework and NO IdentityServer entanglements. All that has been stripped out but still allows you to create an end to end project with an AspNet Identity Option in 100% code and with no embedded opaque ORM.

In Summary:
New - Wizard Support for Angular8 + NetCore 3.1 Project (Visual Studio 2019 only) With NO EntityFramework

Dropped - Wizard for Multi Tier WPF/WCF project
Fix - Scrollbar on Data Source Preferences cutting off last couple of pref settings
Fix - Wait Cursor when creating a project, to indicate something is going on
3rd Feb 2020
BIG NEWS - Support For Visual Studio 2019 arrives, finally. Thanks for all your patience, we know you have been looking forward to it.

In Summary:
New - Support for Visual Studio 2019
New - Support for MYSQL 8.0+
New - Support for MYSQL Geometric data type (as a byte[] datatype)
New - Support for more complex AND & OR grouped criteria when constructing complex queries using CriteriaApi

Dropped - Direct Support for MYSQL < 8.0
Fix - Missing IdentityUserToken support when adding .NetCore MvcApi project
Fix - Incorrect SQL generated for ORDER BY Clause with multiple columns in MYSQL
Fix - Multiple dynamic TAKE & SKIP clause code generated
21st June 2018
Another Major release, focused on asp .net core (2.0+). With a new project type targetting dotnet core 2.0 web apps, (only available for VS2017 solution file format, and for Trial and Professional License users. Not available under standard license).

This gives you the opportunity to work with .net core without having dependencies on EntityFramework assemblies. In the generated code, there is absolutely no need for EF dependencies, and all the .Net identity supporting classes are generated for you in 100% c# source code.

To make the dotnetcore support framework compatible with the other project types on offer, we have moved the database connection string out of the app.config/web.config and it is now stored in a generated.config file which you might have to hunt around for.
This introduces a breaking change when trying to use CodeTrigger version 6.1+ on projects generated from previous versions of CodeTrigger. It is an issue that you can work your way around by being aware of the new location of the db connection config, however this time there isnt an automatic migration utility available.

Another new feature is the ability to break up your project into multiple projects independently targetting data layer, interface libraries etc. This is an advanced function that is only available for Trial and Professional users. This allows users more flexibility in how they want to structure their multi tier projects, for example breaking away from the default 3 tier architecture and supporting architectures based on Domain Driven Design patterns.

In Summary:
New - Support for .Net Core 2.0+ without dependency on EntityFramework
New - Support for Microsoft Azure SQL Server
New - Added facility to independently generate business layer and data layer in different projects/assemblies
New - Added facility to independently generate implementation code and interface libraries in different projects/assemblies
New - Added new Asp DotNetCore2 Wizard (Mvc)

Enhancement - Some fixes to do with the way CodeTrigger responds when trying to write to files locked by source control (ok its still not brilliant, but its better than it was)

Dropped - Support for storing db connection string in app.config & web.config, Now uses a 'generated.config' file
Fix - Now able to handle project names with '.' extensions eg MyProject. Fix - Creating a new AspIdentity based MVC project on an existing database does not recreate the identity tables anymore. If it detects the existence of previous identity tables, its skips the identity table generate step (This only affects MySQL)
1st July 2018
New - Generation scope facility to enable splitting generated interfaces and implementation classes into separate libs, for shared projects within a solution
17th July 2018
New - Class Lib Project/Wizard for Net Core
Fix - AspCore/Mvc - project retains references to Identity when identity option is not selected in wizard
Fix - AspCore/Mvc - cannot find business layer project file when multi tier option is selected
Fix - Various/Other
20th July 2018
Fix - Net Core 2 Class Lib Wizard, error updating project reference
10th June 2017
This is a Major release, with a major rewrite of the CodeTrigger solution structure.
The CodeTrigger solution file now works as a wrapper, which can contain multiple CodeTrigger based projects and project settings.
To make this work we have had to remove the capability to configure multiple datasources within a single CodeTrigger project.
Instead now you can create multiple projects within a CodeTrigger solution, each with its own datasource configuration.

The other significant change is that CodeTrigger now uses relative paths, so you can copy the whole CodeTrigger solution file and codefolders to a new location and it all still works (think multiple team members, sourcecontrol locations)

New - Move to CodeTrigger solution file including multiple CodeTrigger projects
New - Move to Relative paths rather than fixed paths in the CodeTrigger solution, to support multi-member teams
New - Added facility to 'Add New Project' to existing CodeTrigger solution
New - Added facility to navigate through all the projects in a CodeTrigger solution
New - Added new Microservices Wizard
New - Added new RestApi Wizard
New - Added new ClassLibrary Wizard
New - Support for Visual Studio 2017
New - Support for Sparx Systems Enterprise Architect v13

Enhancement - CodeTrigger no longer reloads ALL the projects in your visual studio solution on Code Generation, instead it only reloads the amended/new projects in the solution. Users with Visual Studio solutions that include very many projects will find this a major improvement

Dropped - Support for Visual Studio 2012
Dropped - Support for multiple datasources configured within a single project. Instead use multiple projects, each with its own datasource.
Dropped - Simple Wizard, and No-Wizard.
22nd June 2017
Fix (Standalone version specific) - Added missing config section to CodeTrigger (Standalone) to fix 'Mixed mode assembly is built against version 'v2.0.50727' of the runtime' error
Fix (Standalone version specific) - Build executable as x86 to fix 'Could not load file or assembly 'Microsoft.SqlServer.BatchParser' error when using Automatic SQL Server scripting option on Windows 10 x64.
Enhancement - Minor update to the emitted Javascript to use strict equality instead of loose and eliminate some implicit global variable usage
5th Dec 2017
Fix - some MySQL server configurations (case sensitivity) causing Error/Warning Table 'myDb.K3' doesn't exist
21st Nov 2016
Change to using CriteriaApi as default query/search mechanism, (when using WCF, then searchobjects will still be used).
This means that CriteriaApi query syntax is now available to all levels of license and not restricted to professional license users.
Note: This is a breaking change for existing standard license users, this version will break existing projects and needs to be run on a new codebase.
For professional license users who already use CriteriaApi query syntax, this remains compatible.

Enhancement - Update to the logging and exception handling to get callermember name
Enhancement - The installer now checks if that codetrigger product is installed and prompts the user to uninstall it before proceeding
Enhancement - varchar, nvarchar, xml etc now have max length of -1 instead of 4000
Enhancement - changed the way Transaction mechanism to swallow zombies and fixed transaction count for repositories pattern

Fix - fixed the inconsistent finding of parent/child relationships when the database contains multiple schemas with tables with similar names.
Fix - fixed handling of project file paths when using Basic/Simple wizard
Fix - fixed bug affecting table inserts with identity column when column-name has spaces
Fix - fixed to 'escaped files' to work with filepaths containing double slashes, and avoid updating webconfig if not changed
25th Nov 2016
Fix - Update Command Tab Name to '4,9' from '4.8'
Fix - Use the 'getbaseurl() javascript func to get/fix the right api url/path for post/put/delete/get ops in MVC app
Enhancement - Update the MVC ViewModel generator to recognise when to use class interfaces instead of classes
Enhancement - Made the 'Repository' checkbox read-only in the MVC panel of Advanced options form as it was causing conflict.
1st Dec 2016
Enhancement - Using Asp.Net Identity for Authentication is now Optional when using the MVC wizard. The default is no authentication
15th June 2016
This release is primarily an MVC integrated support release, with some added tweaks.
New - Integrated support for Asp.Net MVC, Asp.Net Identity 2.0, and WebApi
New - CriteriaQuery Api now supports 'Skip' and 'Take' functionality, for pagination (SqlServer 2012+, MySql5.5+, Oracle 12c+)
New - Support for non native Boolean field representation for Oracle - using Number(1) convention
New - Support for identity fields in Oracle 12c+
Enhancement - Verified support for VS2015 Free Community Edition
Enhancement - Verified support for Windows x64
Enhancement - Verified support for .Net Framework 4.6.1+
Fix - Integer named columns in SQL Server now supported eg columns named '2012' '2013' etc
Dropped - Support for VS2010
Dropped - Support for .Net Framework < 4.6.1 or Windows < 7.1
15th June 2016
Enhancement - To allow the overriding of Standard license by a temporary Trial license to enable trial of new Pro features.
18th June 2016
Fix - 'Register' new user method redirecting to Login page.
Enhancement - new class 'UnitOfWorkForwarder' for relaying new Primary Keys during Transactions -
see 'Getting db auto-generated numbers/keys from one transaction step to the next' section of UnitOfWork pattern tutorial
20th June 2016
Enhancement - MVC project creation wizard now runs Codetrigger API to pre-create the Identity business objects (ie the BOIdentity_xx classes) instead of waiting for the user selection action, so that the project builds out of the box.
Enhancement - MVC project creation wizard no longer initially marking some project files as 'read-only'.
Enhancement - Test username and password displayed on login screen.
28th June 2016
Enhancement - New Unit-Testable Option For MVC project Wizard (using Repository Pattern).
Enhancement - Automatic database scripting now set as default for MVC wizard when using Oracle backend.
Fix - multiple changes to the unit-of-work/transaction handling model to avoid table locks when primary key and foreign key table updates overlap with associated transactions.
Fix - fixed the 'escaped files' functionality which could overwrite some escaped files under certain circumstances
29th June 2016
Fix - fixed the default connection name in the generated UnitOfWorkImp.cs to reflect a user change of connection name in project wizard
27th Sept 2016
Fix - 'Ordinal_Position' column not found in Table error when using Turkish Collation fixed
Fix - changed the handling of MSQL Float type to double (ie double precision) instead of 'float' (ie single precision)
Fix - entering a schema name during MVC wizard no longer causes 'missing BOIdentityRole' error
6th Oct 2016
Fix - 'getBaseUrl()' jscript helper method for MVC, instead of absolute urls, to work better with Local-IIS and prevent errors due to mismatched urls
Fix - namespace of SampleController
12th April 2016
This release is primarily a UI refresh release, and a bug fix.
New Support For Visual Studio Themes - Blue/Light/Dark
Enhancement - Auto scrollbars enabled on CodeTrigger screens
Enhancement - Redundant copyright info removed from generated code
Screen colors refreshed/updated.
Fix - Multiple "OrderBy" Criteria now working properly in CriteriaApi (Microsoft Sql Server)
3rd Oct 2015
Support For Visual Studio 2015
Combined Visual Studio Installer
Increased default connection timeout for large database support
New ConnectionString (and StaticConnectionString) property for providing overriding connection string if necessary
Extended support for Linq style calls when using Criteria Api eg
T Single();
T SingleOrDefault();
T First();
T FirstOrDefault();
Fixed the directory & file naming for Repository pattern classes
8th Oct 2015
New Read-back of values when inserting or updating, to capture any sql-trigger-based changes (SQL Server)
New 'Schema Name' filter box to allow filtering by db schema name, helpful (and faster) for large databases (SQL Server)
Improved handling and cleanup of 'Path' environmental variables during install and uninstall
Improved handling of Timestamp db field - now handled as byte[], rather than Int32 (SQL Server)
20th Oct 2015
Improved handling of network paths when saving Visual Studio project to a network location
Fix to the handling of identical table names from different schemas to prevent 'column already exists' error
Cosmetic changes to the tab control and design-time exceptions in Winforms sample
28th Oct 2015
Fix for conflict with ReSharper settings that sometimes caused a 'Unloading Projects...Unspecified Error (Exception from HRESULT).." exception when the ReSharper addin is also installed in Visual Studio. -
14th Sept 2015
Fix - CriteriaQuery api no longer throws an sql Exception when InSubQuery evaluates to empty string/no records ie ' ( )..'
Search By SearchFields objects and Search By Criteria API now mutually exclusively generated.
Fix - Versioning no longer breaks when the table has no primary key (disable version for that entity)
Fix - missing interfaces using-namespace when enable for unit of work pattern is selected
Fix - multiple using-interface line when DAO namespace and BO namespace are the same.
Cleanup - Moved CriteriaQuery functionality from general to advanced options to avoid cluttering up the simple\basic scenarios.
Cleanup - Stopped the default generation of interface folders to avoid cluttering up the simple\basic scenarios.
Cleanup - Added finer grained ability to control the default destination folder for implementation classes and interface definition files, in both the business and data layer.
Cleanup - Added finer grained ability to select individual data layer operations and just generate simple data code enabling those specific operations.
Cleanup - Replaced the 'db-to-folder' wizard with a 'basic / simple' wizard that can generate & insert simple data access code into your existing open project.
Cleanup - Enabled the 'db-to-class library' wizard with the ability to add the generated class library project directly into the open solution, if any.
2nd Mar 2015
New Advanced Option: Enable Unit Of Work (UOW) Pattern
New Advanced Option: Enable Logging Support
New Advanced Option: Enable Exception Handling Support
Fix - MYSQL support for Criteria API fixed -
19th Feb 2015
Fix - Fixed issue where wcf service reference wasnt rendering properly when the project name included dots eg MyProject.Data
Different handling on Date type in Microsoft Sql Server
More robust exception handling in visual studio extension hooks
Fix - Fixed bug causing codetrigger to fail when other files are open in visual studio
Fix - Fixed bug causing wizard-generated wcf service reference to use arrays instead of generic list in web projects
Disable individual data operation selection when in 'generate samples' or 'generate wcf' mode as this can cause inconsistencies
Restored 'Renegade' marker when overwriting files and removing existing entity collection handling
New 'Escaped files' functionality to skip selected files when generating code
Moved advanced options to new Advanced Options tab.
Folder dialogs now default to the current path
Now ignores table 'sysdiagrams' in SQL Server mode
When using “Select-all” on Business Objects the Entity collections are now selected too
Fix - Fixed folder browser and file browser for UI samples and WPF options
Fix - Fixed multi-language globalisation error when checking cdp project file version "input string was not in correct format"
27th Jan 2015
New CriteriaAPI released
New Multi-tier wizards released