Home - 404htm/FlightORM GitHub Wiki

Flight - The Anti-ORM

Mapping tools are fantastic for eliminating boring, repetitive, and error prone data-layer code. While they do this job well they also try to do too much and end up alienating developers and dbas who care deeply about performance and code quality. Flight aims to be a different kind of mapping tool, one that eliminates the monotonous aspects of datalayer creation while still allowing complete control of the generated code, queries, and structure.

While FlightORM plays the part of an ORM all the work is done prior to compilation - It introduces no new dependencies to the project and can safely be removed leaving a fully functional datalayer.

The initial goal is to support SQLServer and Oracle with generated code in C# or VB.Net

Design Philosophy

  • The cost of using a mapping tool should not be paid at runtime
  • No Magic - You should be able to tell what your code is doing and why
  • Using a mapper shouldn't result in worse code or queries than doing the work by hand
  • Queries should live in the datalayer - Regardless of whether you are using linq or sql
  • Generated code should be completely customizable, your mapping tool should generate code that fits the structure and style of existing code.

Additional Goals

  • Provide a single management point for all queries in an application
    • Test that queries are valid
    • Streamline queries that are pulling more data than needed
    • Check for mismatches between code & metadata
    • Detect slow queries
  • Detect necessary updates to code without losing existing modifications
  • Templates should be available for common data retrieval patterns - get up and running fast without losing any flexibility