Skip to content

Commit

Permalink
Fixes #1
Browse files Browse the repository at this point in the history
All done but still need to add sample data and configuration
  • Loading branch information
stuarta0 committed May 13, 2015
1 parent bf5575e commit 288eb6b
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 11 deletions.
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
# dbqf
Database Query Framework

## Requirements

- Visual Studio Express 2013 or greater
- NuGet package manager
- .NET 2.0 for core libraries, .NET 4.5 for the standalone application

## 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.
An SQL builder.

Long answer: 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.

No external libraries are needed for the core and WinForms libraries. The Standalone application does require a number of external libraries but can be updated with NuGet package restore.

### 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).
Expand All @@ -20,7 +30,7 @@ This project follows **Test Driven Development** (TDD) and contains NUnit test c
## Enough words, show me!

![Preset](https://raw.githubusercontent.com/stuarta0/dbqf/master/docs/preset.png)

## Documentation

Full documentation TBA. Code has XML documentation, test cases show usage, and Standalone project shows real-world use.
Expand Down
2 changes: 1 addition & 1 deletion lib/Standalone/Forms/MainAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ public void Search(IParameter parameter)
var worker = (SearchWorker = new BackgroundWorker());
worker.WorkerSupportsCancellation = true;

var fields = RetrieveFields.Adapter.Fields;
var fields = PathFactory.GetFields(SelectedSubject);
var gen = ResultFactory.CreateSqlGenerator(Project.CurrentConnection, Project.Configuration)
.Target(SelectedSubject)
.Column(fields)
Expand Down
8 changes: 0 additions & 8 deletions lib/dbqf.tests/dbqf.tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -98,14 +98,6 @@
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="x64\SQLite.Interop.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="x86\SQLite.Interop.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Expand Down

0 comments on commit 288eb6b

Please sign in to comment.