<commit_before># dbqf
Database Query Framework<commit_msg>Updated readme to contain project description<commit_after># dbqf
Database Query Framework

## What is it?

A library aimed at **simplifying complex data mining for the end user** in .NET applications while minimising developer time to implement.  The intent is to provide a way of mapping a complete relational data structure and allowing the UI to dynamically construct itself for various purposes.  Construction of the UI is modular with use of factories, adapters and (in the example Standalone project) dependency injection.  The code is database engine independent allowing you to create whatever SQL is required to suit your engine (currently tested: `MSSQL`, `SQLite`).  Note this is **not an ORM** but could conceivably have an adapter to an ORM's mapping.

This project follows **Test Driven Development** (TDD) and contains NUnit test cases for the core library.  It is also based on **Fluent** coding style allowing quick code-based setup.

### Why would I want to use it?
- Automated UI generation for boring, repetitive search fields, operators and execution.
- UI controls generated from factories with out-of-the-box behaviour based on field types (but completely customisable).
- Hierarchical data fetching to organise a tree of related data in any which way *(undergoing rewrite)*.
- Modular code allowing replacement of any functionality: what fields to display, what controls to create, what operators are available, how SQL statements are generated, etcetera.
- For WinForms: 
-- Preset Control lists fields with name and a control with a common operator (`between` for numbers and dates, `contains` for string; customisable).
-- Simple Control allows selection of field and operator with a control created dependant on both.
-- Advanced Control allowing full drill-down of related fields, operators, controls dependant on path and hierarchical combinations (AND, OR) of all parameters.

## Documentation

For full documentation, see ...

## License

This project has an MIT license to allow the most freedom of use.  That said, myself and other users of the library would greatly appreciate any contributions you can make.
{'fraction_non_alphanumeric': 0.051771117166212535, 'fraction_numerical': 0.0, 'mean_word_length': 4.767015706806283, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1580377', 'n_tokens_mistral': 510, 'n_tokens_neox': 492, 'n_words': 318}