Options have been added but not all options have been implemented
This turned into an overhaul of the code introducing:
Unit testing
Renaming classes
Dependency injection (within limits of WPF)
Refactoring UI code into reusable controls
Complete redesign of how the code generation works. Now using templating to reduce the amount of syntax that has to be has to be hard coded.
This does not include a Dapper or Entity Framework Fluent API implementation
Found several design issues I have not addressed yet, will happen later with testing such as:
Not sure how to handle blobs or arrays that come from or go back to the database
Need to introduce a way to just control the name of the main entity before other terms are appended to it or custom names are given.
Need to do testing with compound queries (joining two tables etc)
I need to expose where to get base code for the repositories as it won't be included as hard coded files in this project, makes no sense to do. This is why the dynamic data layer is greyed out in this commit. There is no reason to provide it since it never changes and it is literally generic.
Interfaces are not being provided for the repositories and I am not sure if I care right now because that can easily be generated by the user using visual studio (extract interface).
Primary Keys are assumed to:
Exist
Is an integer
Is using identity on the table
Consists of only one column
Need to support GUID as a primary key since it is a popular choice.
Less likely, but not impossible is to support multiple column primary keys.
closes #13